对于jpeg,ImageMagick'没有针对此图像格式的解码代理',但在jpeg中读取时有效

时间:2015-11-06 12:40:39

标签: php image-processing imagemagick jpeg imagick

我正在使用ImageMagick并且对错误感到困惑:

  

'没有此图像格式的解码代理

我的研究让我明白,这可能是因为没有为jpegs安装特定的软件包。但是我很困惑,因为我可以在jpegs上readImage,但是当我尝试合成它们时,我不能。这是错误说的吗?

例如:

$img->readImage(image.jpg);
header ('Content-Type: image/jpg');
echo $img;

结果是在页面上放置了一个简单的图像。这里没问题。

然后,我尝试执行以下操作:

$fiveRow = new Imagick();
$fiveRow->newImage($width * 5 + $padding * 3 , $height, 'white');
$fiveRow->setImageFormat('png');
$fiveRow->compositeImage($img, Imagick::COMPOSITE_DEFAULT, $left + $offset, 0);

然后我尝试输出复合词:

header ('Content-Type: image/png');
echo $fiveRow;

我再次收到no decode delegate错误。但为什么?支持JPEG,显然可以很好地输出页面上的jpeg,为什么我复合它时ImageMagick“神奇地”不再有这个包?

运行phpinfo()时,我可以看到JPEG是大量列表中支持的格式:

  

3FR,A,AAI,AI,ART,ARW,AVI,AVS,B,BGR,BGRA,BMP,BMP2,BMP3,   BRF,C,CAL,CALS,CANVAS,CAPTION,CIN,CIP,CLIP,CMYK,CMYKA,CR2,   CRW,CUR,CUT,DCM,DCR,DCX,DDS,DFONT,DNG,DPX,DXT1,DXT5,EPDF,   EPI,EPS,EPS2,EPS3,EPSF,EPSI,EPT,EPT2,EPT3,ERF,FAX,FITS,   分形,FTS,G,G3,GIF,GIF87,GRADIENT,GRAY,GROUP4,HALD,HDR,   HISTOGRAM,HRZ,HTM,HTML,ICB,ICO,ICON,INFO,INLINE,IPL,ISOBRL,   JNG,JNX,JPEG,JPG,JSON,K,K25,KDC,LABEL,M,M2V,M4V,MAC,MAP,   MASK,MAT,MATTE,MEF,MIFF,MNG,MONO,MOV,MP4,MPC,MPEG,MPG,MRW,   MSL,MSVG,MTV,MVG,NEF,NRW,NULL,O,ORF,OTB,OTF,PAL,PALM,PAM,   PANGO,PATTERN,PBM,PCD,PCDS,PCL,PCT,PCX,PDB,PDF,PDFA,PEF,   PES,PFA,PFB,PFM,PGM,PICON,PICT,PIX,PJPEG,PLASMA,PNG,PNG00,   PNG24,PNG32,PNG48,PNG64,PNG8,PNM,PPM,PREVIEW,PS,PS2,PS3,   PSB,PSD,PTIF,PWP,R,RADIAL-GRADIENT,RAF,RAS,RAW,RGB,RGBA,   RGBO,RGF,RLA,RLE,RMF,RW2,SCR,SCREENSHOT,SCT,SFW,SGI,SHTML,   SPARSE-COLOR,SR2,SRF,STEGANO,SUN,SVG,SVGZ,TEXT,TGA,THUMBNAIL,   TIFF,TIFF64,TILE,TIM,TTC,TTF,TXT,UBRL,UIL,UYVY,VDA,VICAR,   VID,VIFF,VIPS,VST,WBMP,WMV,WPG,X3F,XBM,XC,XCF,XPM,XPS,XV,   Y,YCbCr,YCbCrA,YUV

0 个答案:

没有答案