【问题标题】:Imagick complains when I don't set an optional height parameter for sampleImage or resizeImage当我没有为 sampleImage 或 resizeImage 设置可选的高度参数时,Imagick 会抱怨
【发布时间】:2015-09-28 13:16:59
【问题描述】:

当我使用 resizeImage 或 sampleImage 时,我收到错误,表明我没有提供足够的参数,就像这样...

Warning: Imagick::sampleimage() expects exactly 2 parameters, 1 given

事实上,我只是提供第一个参数,因为我想设置宽度而不是高度,以保持纵横比...

$subImage->resizeImage($w);

代码有效,我认为除了第一个参数之外所有参数都应该是可选的,那么为什么会出现错误以及如何消除它?

【问题讨论】:

    标签: imagemagick imagick


    【解决方案1】:

    对于Imagick::sampleImage,您需要计算最终高度。

     // new height = original height / original width * new width
     $h = $subImage->getImageHeight() / $subImage->getImageWidth() * $w
     $subImage->sampleimage($w, $h);
    

    我认为所有参数都应该是可选的

    记住Imagick 库绑定了ImageMagick 的C-API,CLI-API 的一些继承的porcelain 不直接结转。您的应用程序必须进行额外的计算,否则您将遇到未定义的行为。处理长宽比、量子颜色、度数和百分比值是您负责的很好的例子。

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      • 2016-08-20
      • 2013-03-24
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多