使用imagick更改图像分辨率

时间:2017-11-29 14:20:44

标签: php imagick

如何使用Imagick更改图像分辨率。我学到了  注意setResolution会改变图像密度,但不会  解析度。我希望将图像分辨率设置为12800 * 800像素  分辨率

    $image = new Imagick(); 
    $image->setResolution(72,72) ; // it change only image density.
    $image->readImage($img);

1 个答案:

答案 0 :(得分:2)

您正在寻找的是setImageResolution。更多信息here

这与resampleImage结合使用可以得到理想的结果。 link

$image = new Imagick(); 
$image->setImageResolution(12800,800) ; // it change only image density.
$image->resampleImage  (12800,800,imagick::FILTER_UNDEFINED,1);
$image->readImage($img);

复制this page上的信息:

  

此方法使用“convert -density {$ x_resolution} x {$ y_resolution}”参数。但请注意,Imagick :: setResolution()与“imagick :: setImageResolution()

”相比“convert -density”选项更相似      

Imagick :: setResolution()和Imagick :: setImageResolution()都是通过“设置图像分辨率”引入的,这非常令人恼火。