Добрый день!
Использую QPrintPreviewDialog. По сигналу paintRequested рисую:
const QImage &image = ...;
const int width = image.width();
const int height = image.height();
QPainter painter;
painter.begin(printer);
const QRect &pageRect = printer->pageRect();
const int rowCount = qCeil((double)height / pageRect.height());
const int columnCount = qCeil((double)width / pageRect.width());
for (int i = 0; i < rowCount; ++i) {
for (int j = 0; j < columnCount; ++j) {
if (i || j) {
printer->newPage();
}
painter.drawImage(0, 0,
image,
j * pageRect.width() + 1,
i * pageRect.height() + 1,
pageRect.width(),
pageRect.height());
}
}
painter.end();
В маштабе 100% в диалоге все отбражается корректно и достоверно. При печате же происходит размазывание картинки. Как решить данную проблему?