ImageMagick 使用 qt ans magick++ 打开并写入图像

Posted

技术标签:

【中文标题】ImageMagick 使用 qt ans magick++ 打开并写入图像【英文标题】:ImageMagick open and write image with qt ans magick++ 【发布时间】:2010-12-06 23:46:36 【问题描述】:

我在 Qt 中使用 Magick++ 库

我使用下面的代码来读写图像:

  Image image;
  image.read(qPrintable(f.absoluteFilePath()));
  image.addNoise(GaussianNoise);
  image.magick("png");
  image.write("image_name");

其中 f.absoluteFilePath 是我的图像的绝对路径 示例:/Users/user/Desktop/test/P1030673.jpg

代码完成后,我找不到名为“image_name”的图像。 我查看了第一个图像“/Users/macmini/Desktop/test/”的文件夹,但它不存在 我试图搜索该图像,但它似乎不在我的计算机中。

我哪里出错了? 如何将图像保存在计算机中? 有什么方法可以指定我想要保存图像的路径吗?

谢谢

【问题讨论】:

阅读有用吗?此外,可能还有一种方法可以在 write() 期间检查错误。 【参考方案1】:

您应该会找到保存在当前工作目录中的文件。如果您想将其保存在其他地方,请给出绝对路径。

【讨论】:

当前工作目录是什么意思? - 我有 Magick++ 库文件夹 - 我的 Qt 项目所在的目录 - qt 项目运行时所在的目录 - 以及图像所在的目录 如何提供绝对路径?感谢您的回答 如果您从菜单或桌面应用程序链接启动程序,则 cueernt 工作目录将是您的主目录,除非您在链接中定义了另一个工作目录。如果您从 shell 启动程序,则当前工作目录是您启动程序时所在的目录。 绝对路径是以“/”开头的任何路径 问题与imagemagick有关。当然,我知道当前的工作目录是什么,但我无法在那里找到任何文件【参考方案2】:

对于可能遇到相同问题的每个人: Imagemagick 会将图像保存在 .app 包中

除非您在 read() 函数中指定路径,否则您将无法找到图像文件

通过检查我的 .app 文件的大小,我注意到以下情况 每次我尝试保存图像时它都会增加。

【讨论】:

这个问题似乎是 OSX 特有的。也许你应该提交一份关于 imagemagick 的错误报告。

以上是关于ImageMagick 使用 qt ans magick++ 打开并写入图像的主要内容,如果未能解决你的问题,请参考以下文章

php安装imagemagick问题。

php imagemagick可以去水印吗

ImageMagick 已安装,是真是假,如何检查? PHP [重复]

php7 使用imagick 的坑

php 使用Imagemagick在WordPress中上传水印

如何使用 ImageMagick (php) 调整动画 gif 的大小?