QT做图片的打印预览,预览效果显示模糊问题

abxialiang 2012-05-21 10:22:27
代码如下

void CObjControl::Ctl_PrintPreview()//打印预览按钮入口
{
QString ImgPath = GetImgPath();//图片路径
if ( !ImgPath.isEmpty())
{
QPrinter printer(QPrinter::HighResolution);
QPrintPreviewDialog preview(&printer,this, Qt::WindowMinMaxButtonsHint);
connect(&preview, SIGNAL(paintRequested(QPrinter *)),this,SLOT(printPreview(QPrinter *)));//printPreview为SLOT函数
preview.exec();
}
}

bool CObjControl::printPreview( QPrinter * printer )
{
QString ImgPath = GetImgPath();//图片路径
if ( !ImgPath.isEmpty())
{
return _PrintTiffImage(ImgPath, printer);//_PrintTiffImage为把图片绘制到printer的方法
}
return false;
}


//上面的_PrintTiffImage是没有问题的,因为我的打印代码(不是打印预览)也是也复用了这个方法,打印效果正常,代码如下:

void CObjControl::Ctl_PrintFax()//打印按钮入口
{
QString ImgPath = GetImgPath();//图片路径
QPrinter printer;
QPrintDialog printDialog(&printer,this);
if (printDialog.exec())
{
_PrintTiffImage(ImgPath, &printer);//_PrintTiffImage为把图片绘制到printer的方法
}
}


所以现在的问题为什么打印预览的效果会模糊,怎么设置?我感觉跟如下代码中的SmoothTransformation有类似的原理.但我在帮助文档与网络上找了好多也没有找到答案.

SrcPixmap.scaled(m_ImgViewSize.width(),m_ImgViewSize.height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation);

...全文
1175 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shgaol 2013-09-23
  • 打赏
  • 举报
回复 1
这个问题,我终于解决了,是图片缩放导至分辨率下降的问题,具体的原因我没有找到,因为项目比较急,没时间去找,我的处理方法是,先把图片放到,再来根据打印的纸张进行缩放,这样的话,就可以解决,因为在调整打印区域大小时,导至的分辨率失直的问题.
风泥 2013-07-25
  • 打赏
  • 举报
回复
牛人何在呀?不在再沉了,好不容易坟到一个
风泥 2013-07-25
  • 打赏
  • 举报
回复
一起顶一下,我也碰到这样的问题了,没解决
abxialiang 2012-05-21
  • 打赏
  • 举报
回复
显示效果如果下图,很模糊.

16,818

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧