Perl模块Image :: Magick :: Q16 ::常常缺少工作Image :: Magick?

时间:2015-12-02 14:06:13

标签: perl imagemagick cpan

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

我测试是否通过将它包装在这样的eval中来安装Image :: Magick:

eval { require Image::Magick};

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

这一直很好用,但最近我从CPAN测试人员那里得到了两个错误报告,其中我的模块因错误“Image :: Magick :: Q16 :: constant not defined”而失败。< / p>

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

我该如何处理?

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

CPAN测试人员报告:

图像散列-0.06:

图像散列-0.06:

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

1 个答案:

答案 0 :(得分:0)

  

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

正确。量子常数是在ImageMagick库的编译期间定义的。引用PerlMagicks Overview document

  

PerlMagick是量子意识到的。您可以在实例化图像对象时请求特定的量子深度:

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

我不熟悉Perl,但我可以看到特定的量子常数为defined here

package Image::Magick::@MAGICK_ABI_SUFFIX@;

@MAGICK_ABI_SUFFIX@可能会影响--with-quantum-depth--enable-hdri Image::Magick::Q8。见Advanced Unix Installation

所以以下包可能有效......

  • Image::Magick::Q16
  • Image::Magick::Q32
  • HDRI

或许后缀为a:hover:after