【发布时间】:2014-11-03 13:41:51
【问题描述】:
我有一个项目,我有一个 hotfolder 系统,我将一个文件放到一个文件夹中,它执行一个 PHP 脚本,该脚本使用 ImageMagick 对文件执行一些魔法。
我想对 ImageMagick 执行的操作之一是更改图片分辨率的简单过程。
我想要做的是获得 72 DPI 分辨率的图片。这是我的代码的一部分:
$im = new Imagick();
$im->setResolution(72,72);
$im->readimage($xmlConfig->general->input); //Input is TIF 300 DPI
$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$im->setImageResolution(72,72);
$im->resampleImage(72,72,imagick::FILTER_UNDEFINED,0);
$im->setimageformat($xmlConfig->extension); //added in EDIT
$im->writeimage($xmlConfig->general->output); //Output is also 300 DPI Filename is something.jpg added in EDIT
$im->destroy();
那么,我做错了什么?因为我不能让它工作。我已经尝试了所有可用的组合来尝试得到正确的结果,并且还像疯子一样在谷歌上搜索它,但仍然没有得到我想要的结果。
**编辑:* 我在进行一些测试时注意到这确实有效。但是当我将带有setimageformat 的部分添加到JPEG 并将文件名设置为 something.jpg 时,它就出错了。
即使我在上面指定了 72,JPEG 始终为 300 DPI。
【问题讨论】:
标签: php imagemagick resolution dpi