【问题标题】:Imagick::getImageInterlaceScheme is deprecatedImagick::getImageInterlaceScheme 已弃用
【发布时间】:2021-11-04 14:59:23
【问题描述】:

Imagick::getImageInterlaceScheme 已弃用,但我找不到在代码中替换它的方法。 我尝试使用Imagick::getInterlaceSchema,但它为同一张图片返回不同的值。

有人知道替换此函数调用的正确方法是什么吗?

谢谢!

编辑:我还直接询问了维护人员 - 事实证明它将在下一个版本中被弃用:https://github.com/Imagick/imagick/issues/455

【问题讨论】:

  • 您在哪里看到 Imagick::getImageInterlaceScheme() 已弃用?它什么也没说in the manual?它会引发弃用警告吗?
  • 是的,它在手册中没有说明任何内容,但会引发弃用警告:PHP Deprecated: Imagick::getImageInterlaceScheme method is deprecated and it's use should be avoided
  • 我还直接询问了维护人员 - 事实证明它将在下一个版本中取消:github.com/Imagick/imagick/issues/455

标签: php imagemagick imagick interlacing


【解决方案1】:

不确定你从哪里得到这些信息,我也不确定你到底有多绝望,但如果你的 JPEG 是逐行/隔行扫描的,它几乎肯定会包含一个 SOF2 标记 0xff 0xc2。如果不是隔行扫描,肯定不会包含那个。

见 p32 here

为了测试,您可以在终端中使用 ImageMagick 制作常规 JPEG,如下所示:

magick -size 64x64 xc:black regular.jpg

还有这样的交错:

magick -size 64x64 xc:black -interlace line interlaced.jpg

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多