Использую Qt 4.7 на Linux и Windows XP. Столкнулся со следующей проблемой: при отображении SVG появляются серьезные искажения. Пробовал рендеринг по схеме "QSvgRenderer -> QPainter -> QPaintDevice": нативный, в QImage, QPicture, OpenGL, QPrinter (PDF). Вывод на разные Paint Device отличается, однако искажения везде есть. Например, в pdf появляются засечки, а в QImage линии, нарисованные с использованием путей, имеют неверную длину. В том же Firefox или с использованием prince-xml все отображается без искажений.
Вот кусок исходного кода:
QPrinter p(QPrinter::HighResolution);
p.setOutputFormat(QPrinter::PdfFormat);
p.setOutputFileName("test.pdf");
QPainter painter;
painter.begin(&p);
QSvgRenderer svgRend("test.svg");
svgRend.render(&painter);
painter.end();
Оригинальное изображение (нормально отрисованное с использованием prince-xml), а также результат рендеринга (png и pdf) прилагаю.
Какие мысли?