• 23644阅读
  • 16回复

[讨论]QT QImage保存图片问题 [复制链接]

上一主题 下一主题
离线njliu1113
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-08
关键词: QT4图像
我写了个程序
里面要用到保存图片,现在只能保存为PNG或者是BMP,一旦保存为JPG,程序界面马上死掉,自己关闭了,
在保存的路径里面生成一个空的“123。JPG”文件。QImage image("987.jpg");image.save("a.jpg"),代码就是这个。

但我新建一个工程,其他任何代码都不写,代码和上面一样,QImage image("987.jpg");image.save("a.jpg"),这样保存它是可以成功的。

我的问题出在那里呢?
离线uidab

只看该作者 1楼 发表于: 2011-03-08
不好说,我用过,没出现你说的问题.
也许是程序结构出现错误造成的.
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线njliu1113
只看该作者 2楼 发表于: 2011-03-08
回 1楼(uidab) 的帖子
应该不是,我把程序中其他所有都不执行   也就只执行QImage image("987.jpg");image.save("a.jpg"),它也出现同样的问题。
是不是项目那个地方要设置还是什么的

现在也跟踪不出什么错误
离线njliu1113
只看该作者 3楼 发表于: 2011-03-08
JPG.rar (371 K) 下载次数:38 我把我DEMO传上来,麻烦大家帮我看看,
现在我DEMO中保存JPG图片是不成功的。
离线uidab

只看该作者 4楼 发表于: 2011-03-08
回 3楼(njliu1113) 的帖子
程序没啥问题,我是win平台,去掉了一些我这里识别不了的东西,执行后,没问题.

注意图片路径.
[ 此帖被uidab在2011-03-08 16:45重新编辑 ]
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线njliu1113
只看该作者 5楼 发表于: 2011-03-08
我是UBUNTU 9.10下做的  就是不成功
离线njliu1113
只看该作者 6楼 发表于: 2011-03-08
回 4楼(uidab) 的帖子
路径我都是对的啊
离线uidab

只看该作者 7楼 发表于: 2011-03-08
回 6楼(njliu1113) 的帖子
你跟踪一下吧,如果路径是错的,载入的时候变量是空的.

UBUNTU 9.10下编译后qt会新生成什么目录吗?
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线浪漫天使
只看该作者 8楼 发表于: 2011-03-08
图像库插件 可能不同
离线njliu1113
只看该作者 9楼 发表于: 2011-03-09
回 7楼(uidab) 的帖子
没有什么新目录,关键是我新建一个工程  用同样的代码 它又能成功
离线njliu1113
只看该作者 10楼 发表于: 2011-03-09
回 8楼(浪漫天使) 的帖子
应该不是,我新建一个工程  用同样的代码 它又能成功
离线uidab

只看该作者 11楼 发表于: 2011-03-09
回 9楼(njliu1113) 的帖子
...........可能是要清空以前编译出来的一些其他文件。
这个问题我也遇到过,读取txt文件,找不到错误,最后clean了一下。然后再build就成功了。费了5个多小时。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线njliu1113
只看该作者 12楼 发表于: 2011-03-10
回 11楼(uidab) 的帖子
CLEAN过了 还是不行。
离线uidab

只看该作者 13楼 发表于: 2011-03-10
回 12楼(njliu1113) 的帖子
这个就奇怪了.
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线uidab

只看该作者 14楼 发表于: 2011-03-14
回 12楼(njliu1113) 的帖子
我昨天心血来潮,用qimage 保存图片分别为bmp,jpg,发现在开发机器上没问题,但是在测试机器上不能保存为jpg.难道需要什么特殊的库吗???
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线uidab

只看该作者 15楼 发表于: 2011-03-15
回 2楼(njliu1113) 的帖子
搜索到这样的说明。
你看看

动态编译就很容易了。用QT的默认安装,把生成的release下的exe文件,和下面几个核心文件放在一个文件夹里:
MINGWM10.DLL
QTGUI4.DLL
QTCORE4.DLL
VC2005编译程序运行时需要的几个dll文件
Microsoft.VC80.CRT.manifest 位于x:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\\Microsoft.VC80.CRT
msvcm80.dll
msvcp80.dll
msvcr80.dll
QtCore4.dll
QtGui4.dll
这样就可以运行了。但图片文件还是可能显示不出来,解决办法:
把程序文件夹里,建立一个imageformats目录(必须是这个名字),把qt目录下的plugin/imageformats目录下对应的dll文件copy过去。这样动态连接就完成了。
注:可以用微软的Dependency Walker tool工具,就是一个depends.exe的程序,来查看一个exe文件跟哪些dll关联。
注:需要在完全没有装QT的系统上测试发布的程序有没有DLL依赖问题。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线liangxiyi200
只看该作者 16楼 发表于: 2011-04-14
我下载了你的rar,也是在ubuntn 9.10下,编译后没出现任何错误,运行后,只看到一个pushButton
快速回复
限100 字节
 
上一个 下一个