我正在使用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