perlmagick imagemagick error

perlmagick imagemagick error

问题描述:

我的托管服务提供商最近升级了他们的服务器,我在perl中有很多imagemagick脚本的问题。我的脚本在旧服务器上完美运行,但在新服务器上运行失败,因此我已经回到基础知识来尝试解决发生了什么问题。perlmagick imagemagick error

服务器报告ImageMagick的作为:

Version: ImageMagick 6.7.2-2 2011-10-20 Q16 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC 
Features: OpenMP 

和Perl模块,图像:: Magick是6.72

版本以下脚本保存在我的服务器上:

#!/usr/bin/perl 
use CGI::Carp qw(fatalsToBrowser); 

use Image::Magick; 

my $image = Image::Magick->new; 

$x = $image -> Set(size=>"200x200"); 
warn "$x" if "$x"; 

$x = $image -> ReadImage("canvas:black"); 
warn "$x" if "$x"; 

$x = $image -> Draw (
    stroke => "red", 
    primitive => "line", 
    points => "20,20 180,180"); 
warn "$x" if "$x"; 

print "Content-type: image/gif\n\n"; 
binmode STDOUT; 
$image -> write ("gif:-"); 

这因以下错误而失败:

[Sun Oct 23 11:02:32 2011] imtest.pl: Exception 420: no decode delegate for this image format `lack' @ error/constitute.c/ReadImage/532 at www/11/cgi-bin/imtest.pl line 12. 
[Sun Oct 23 11:02:32 2011] imtest.pl: Exception 410: no images defined `Draw' @ error/Magick.xs/XS_Image__Magick_Mogrify/7394 at www/11/cgi-bin/imtest.pl line 18. 

如果我将ReadImage("canvas:black")更改为ReadImage("xc:black"),那么脚本会连续运行而不输出。

我的网络主机一直在努力寻找解决方案,但我需要知道如果我在这里做错了什么,或者如果有ImageMagick的安装问题。

请注意我意识到上述可以用其他更简单的模块完成,但这只是一个简单的例子,以确定问题是imagemagick或我的代码!

感谢您的帮助。

问候,

斯图

+0

的问题是与ImageMagick的服务器上,我的托管商仍然不确定如何解决这个问题,但在限制ImageMagick的一个CPU核心perl脚本解决了问题 –

我接收到类似的错误在WinXP命令行模式用的ImageMagick的6.3.7版本。

我改变了前几行到这一点,它的工作:

my $image = Image::Magick->new(size=>"200x200"); 
die "Image::Magick->new failed" unless $image; 

my $x = $image->Read("xc:black"); 
warn "$x" if "$x"; 
+0

谢谢,给了一个尝试,但它并没有帮助不幸。我一直在从unix命令行运行脚本,当imagemagick试图创建一个tmp文件时它似乎挂起,所以认为这取决于服务器上的imagemagick安装:( –