bool ExportHtml::convertWmf(QByteArray &input, QByteArray &output, QSizeF size) { QBuffer *outBuf = new QBuffer(&output); QSvgGenerator generator; generator.setOutputDevice(outBuf); generator.setSize(QSize(200, 200)); generator.setTitle("Svg image"); generator.setDescription("This is an svg image that is converted from WMF by Calligra"); QPainter painter; if (!painter.begin(&generator)) { kDebug(30503) << "Can not open the painter"; return false; } painter.scale(50,50); Libwmf::WmfPainterBackend wmfPainter(&painter, size); if (!wmfPainter.load(input)) { kDebug(30503) << "Can not Parse the WMF file"; return false; } // Actually paint the WMF. painter.save(); wmfPainter.play(); painter.restore(); painter.end(); return true; }
void RenderThread::drawWmf(QPainter &painter) const { Libwmf::WmfPainterBackend wmfPainter(&painter, m_size); if (!wmfPainter.load(m_contents)) { drawNull(painter); return; } painter.save(); // Actually paint the WMF. wmfPainter.play(); painter.restore(); }