【问题标题】:Change image resolution using imagick使用 imagick 更改图像分辨率
【发布时间】:2017-11-29 22:54:19
【问题描述】:

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

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

【问题讨论】:

    标签: php imagick


    【解决方案1】:

    您正在寻找的是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() 更类似于“转换-密度”选项

    Imagick::setResolution() 和 Imagick::setImageResolution() 都是用“设置图像分辨率”引入的,这很烦人。

    【讨论】:

    • 不,它不会更改分辨率。无论我在 setImageResolution 中放入什么值。实际上它必须先读取对象...
    • @tomtom 我在回答中添加了更多信息。
    猜你喜欢
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多