• 5522阅读
  • 2回复

图片过大,怎样设置分页打印 [复制链接]

上一主题 下一主题
离线lugaideath
 

只看楼主 正序阅读 楼主  发表于: 2009-03-04
    QPrinter printer(QPrinter::ScreenResolution);

    QPrintDialog *printDialog = new QPrintDialog(&printer, this);

    if (printDialog->exec() == QDialog::Accepted)
     {
         QPainter painter(&printer);painter.setClipping(true);
         QRect rect = painter.viewport();
         QSize size = QPixmap::grabWidget(scrollAreaWidgetContents,scrollAreaWidgetContents->rect()).toImage().size();
         scrollAreaWidgetContents->size().scale(rect.size(), Qt::KeepAspectRatio);
         painter.setViewport(rect.x()-(size.width()-740)/2, rect.y(), size.width(), size.height());
         painter.setWindow(QPixmap::grabWidget(scrollAreaWidgetContents,scrollAreaWidgetContents->rect()).toImage().rect());
         painter.drawImage(0, 0, QPixmap::grabWidget(scrollAreaWidgetContents,scrollAreaWidgetContents->rect()).toImage());
     }

我画出的图片太高,打印只打印一页,显示一部分而已,我要怎么做,让它自动分页呢?
还有怎样把它改成打印预览的模式显示出来再打印呢?
英文不太好,找了很旧帮助也没找到方法,希望高手指点!
离线lugaideath

只看该作者 2楼 发表于: 2009-03-05
问题是代码要怎么写?
离线80486

只看该作者 1楼 发表于: 2009-03-04
先计算某一页最多能打印的图片高度,然后将图片分页
快速回复
限100 字节
 
上一个 下一个