我有一个项目,我有一个hotfolder系统,我将一个文件放在一个文件夹中,它执行一个PHP脚本,通过ImageMagick对文件执行一些魔术。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。
这是我拔出头发后修复它的唯一方法:D谢谢 – 2015-10-02 12:21:31