Perl模块Image::Magick::Q16::工作时缺少常量Image::魔术师



我是CPAN模块Image::Hash的作者。它是一个用于进行图像哈希的模块,并使用GD、image::Magick或Imager来处理图像,具体取决于用户系统上安装的内容。

我测试了一下Image::Magick是否是通过将其包装在这样的评估中安装的:

eval { require Image::Magick};

如果安装了Image::Magick,模块将使用它。

这一直工作得很好,但最近我从CPAN测试人员那里收到了两份错误报告,其中我的模块出现错误"Image::Magick::Q16::constant not defined"

这是否意味着您可以安装Image::Magick,但仍然没有工作环境,因为缺少Image::魔术师::Q16?

我该如何处理?

我不想添加Image::Magick::Q16:作为每个人的要求,因为除了两个平台之外,没有它,它可以正常工作。

CPAN测试人员报告:

图片-灰烬-0.06:

  • x86_64-linux-thread-multi/5.18.1:

  • 失败http://www.cpantesters.org/cpan/report/822fb984-965b-11e5-8cc0-4f581fbf4db7

图片-灰烬-0.06:

  • i486 linux线程multi/5.18.1:

  • 失败http://www.cpantesters.org/cpan/report/1a701ba4-97fa-11e5-975f-b301d0c0c177

只是为了澄清;根据CPAN测试人员的说法,我的模块在215个平台上工作,在2个平台上失败。所以这不是一个常见的错误。我目前无法轻松访问带有perl 5.18.1的机器。

这是否意味着您可以安装Image::Magick,但仍然没有工作环境,因为缺少Image::魔术师::Q16?

正确。量子常数是在ImageMagick库的编译期间定义的。引用PerlMagicks概述文档。

PerlMagick具有量子意识。当您实例化图像对象时,您可以请求特定的量子深度:

use Image::Magick::Q16;
$image = Image::Magick::Q16->new;

我不熟悉Perl,但我可以看到具体的量子常数将在这里定义。

package Image::Magick::@MAGICK_ABI_SUFFIX@;

其中CCD_ 1可以受到CCD_;--enable-hdri。请参阅高级Unix安装

因此,以下程序包可能有效。。。

  • Image::Magick::Q8
  • Image::Magick::Q16
  • Image::Magick::Q32

并且可能带有额外的HDRI后缀。

最新更新