加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 将QPixmap保存为JPEG失败(Qt 4.5)

发布时间:2020-12-16 10:26:28 所属栏目:百科 来源:网络整理
导读:我有以下代码. QString fileName = QFileDialog::getSaveFileName( this,tr("Output Image file"),(""),tr("PNG (*.png);;JPEG (*.JPEG);;Windows Bitmap (*.bmp);;All Files (*.*)"));if(fileName != ""){ QwtPlot* pPlot = ... QSize size = pPlot-size();
我有以下代码.

QString fileName = QFileDialog::getSaveFileName(
   this,tr("Output Image file"),(""),tr("PNG (*.png);;JPEG (*.JPEG);;Windows Bitmap (*.bmp);;All Files (*.*)")
);

if(fileName != "")
{
   QwtPlot* pPlot = ...
   QSize size = pPlot->size();
   QRect printingRect(QPoint(0,0),size);

   QPixmap pixmapPrinter(size);
   pixmapPrinter.fill(Qt::white);

   {
      QPainter painter(&pixmapPrinter); 
      pPlot->print(&painter,printingRect);     
   } 

   bool isOk = pixmapPrinter.save(fileName);

   if(!isOk)
   {                
      QString msgText = tr("Failed to write into ") + fileName;

      QMessageBox::critical(this,tr("Error Writing"),msgText);
   }
}

因此,路径是这样的: – 弹出文件对话框 – 用户选择格式和文件 – 系统将绘图绘制到QPixmap上 – 将QPixmap保存到文件中.

它适用于PNG和BMP没有问题,但对于JPEG,jpg,JPG等,它失败了.

我到处都是Qt文档,但找不到任何细节.它应该工作.
有任何想法吗?

我正在使用Qt商业版,4.5.1 for Windows.
我正在使用dll,Qt不在路上.

我刚刚意识到我正在静态链接到经典的第三方jpeg.lib(独立JPEG组的JPEG软件),这是其他库使用的.

是否有可能因此发生冲突或其他事情?

或者只是插件没有正确加载.

解决方法

可能它找不到插件……

您可以将库路径添加到项目中,也可以将imageformats文件夹放在二进制文件附近.

imageformats文件夹在插件中..

(可能你也不能显示jpeg图像)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读