Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php imagick显示脚本url而不是图像_Php_Imagemagick_Imagick - Fatal编程技术网

Php imagick显示脚本url而不是图像

Php imagick显示脚本url而不是图像,php,imagemagick,imagick,Php,Imagemagick,Imagick,目前,我正在尝试使用imagick生成一些图像,而不将它们保存在服务器上,然后输出到浏览器,我选择的方法是使用imagick php扩展的image magic。我阅读了文档,我确信该软件包已安装在我的机器上(windows xp,带有xampp)。该类已安装 imagick module enabled imagick module version 2.0.0-alpha imagick classes Imagick, ImagickDraw, ImagickPixel, I

目前,我正在尝试使用imagick生成一些图像,而不将它们保存在服务器上,然后输出到浏览器,我选择的方法是使用imagick php扩展的image magic。我阅读了文档,我确信该软件包已安装在我的机器上(windows xp,带有xampp)。该类已安装

imagick module  enabled 
imagick module version  2.0.0-alpha 
imagick classes     Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator 
ImageMagick version     ImageMagick 6.3.3 04/21/07 Q16 http://www.imagemagick.org 
ImageMagick release date    04/21/07 
ImageMagick Number of supported formats:    164 
ImageMagick Supported formats   A, ART, AVI, AVS, B, BIE, BMP, BMP2, BMP3, C, CACHE, CAPTION, CIN, CIP, CLIP, CLIPBOARD, CMYK, CMYKA, CUR, CUT, DCM, DCX, DFONT, DPS, DPX, EMF, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, FAX, FITS, FRACTAL, FTS, G, G3, GIF, GIF87, GRADIENT, GRAY, HISTOGRAM, HTM, HTML, ICB, ICO, ICON, INFO, JBG, JBIG, JNG, JP2, JPC, JPEG, JPG, JPX, K, LABEL, M, M2V, MAP, MAT, MATTE, MIFF, MNG, MONO, MPC, MPEG, MPG, MSL, MSVG, MTV, MVG, NULL, O, OTB, OTF, PAL, PALM, PAM, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PFA, PFB, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG24, PNG32, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSD, PTIF, PWP, R, RAS, RGB, RGBA, RGBO, RLA, RLE, SCR, SCT, SFW, SGI, SHTML, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TILE, TIM, TTC, TTF, TXT, UIL, UYVY, VDA, VICAR, VID, VIFF, VST, WBMP, WMF, WMFWIN32, WMZ, WPG, X, XBM, XC, XCF, XPM, XV, XWD, Y, YCbCr, YCbCrA, YUV
这是来自phpinfo的,所以我知道我已经安装了它,问题是当我尝试生成一个图像并保存它时,它可以完美地工作,但是当我尝试直接输出图像时,我会将脚本url作为一个图像

  $draw = new ImagickDraw();

    $draw->setFont('AnkeCalligraph.TTF');
    $draw->setFontSize(52);

    $draw->annotation(110, 110, "Hello World!");
    $draw->annotation(50, 220, "Hello World!");
    $canvas = new Imagick('./pictures/test_live.PNG');
    $canvas->drawImage($draw);
    $canvas->setImageFormat('png');
    header("Content-Type: image/png");
    echo $canvas;
这是使用的代码。如果我使用writeimage,那么服务器上的文件创建时不会出现问题。有人知道我做错了什么吗?

浏览器(通常,Firefox会这样做)显示URL而不是图像的内容,这通常是由无效图像引起的——即,当发送HTTP头时,该头告诉浏览器内容应被解释为图像,但内容不能被解释为图像

如果您的代码在将映像写入文件时正确构建了映像,那么问题可能是由于发送不属于映像的输出而导致的


请确保您除了图像之外没有任何其他输出——在PHP标记之前或之后都没有空白。

找到了解决方案。。。而不是
echo$canvas使用
echo$canvas->getImageBlob()工作正常

尝试从0创建新文件,没有其他输出,使用手册中的第一个示例,firefox中出现相同错误,其他浏览器中出现空图像