1

当尝试绘制一个简单的多边形时,会发生奇怪的输出。

<?php
// cria uma imagem em branco
$image = imagecreate(400, 300);

// prenche a cor do fundo
$bg = imagecolorallocate($image, 0, 0, 0);

// escolhe uma cor para o poligono
$col_poly = imagecolorallocate($image, 255, 255, 255);

// desenha o poligono
imagepolygon($image, 
             array (
                    0, 0,
                    100, 200,
                    300, 200
             ),
             3,
             $col_poly);

// envia a imagem
header("Content-type: image/png");
imagepng($image);

?>

输出是:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/drawimage/index.php:2) in /var/www/drawimage/index.php on line 23

图片应该是这样的:

‰PNG  IHDR,×ywPLTEÿÿÿ¥ÙŸÝ1IDAThí•;ŽÜ0D5ë¡À€Ç™C±¡à#è(<åÌýùivWeX»+‘P"úa§8ÑYxä7üä‘&lt;ò-ÒÈKhdþÅ#3¦Ä#EÓwy²È?ñÈû‡ŒðÊÈôb‘0}á‘yMH#ïÏáò~V™yû¥òžV™ç:g\Ö+N<8dmE*³"¬2qšXeâñGD&ú¿ÌŠÊ„÷©ÌŠÊ¬¥He¶ï ÙFŸSf¾p¶iá”ÙN™ý‚Ù;QÊì§L\œ21{‚‘í¹ð¥LØž”2;B)³W¢”9¾Bä|F™¹xA9f…Qæ@eÎëM<pälD(s"Œ2q1ÊÄê DŽ÷Â#„2áxÊœ¡ÌYˆPæú‘kìqeæfáæš\™Á•¹/7ñH@‘»¬ÌàÊÄs+••¹VÀÊ„k+s#°2wX™ìD²¡G•™Õ¥™lNPe2U&¿ÚÄ#Cò6 29‚*ï%ªLì¬H¶^xT&dkP™•ÉË€ÊýBŠ‘Ç”™»›nŠ)Á”)L™òb)»@Ê”¦LÌ7˜2ÑØu"ÅnáH™Pì eJR¦¬)Sµ©Qf6·jªA”©D™úZ©›ÊÔ¢L,·ˆ2ÑÙ+‘j¿ð L¨ö€25(S”iº‹‹4ãî+Ó ¾2Í„øÊ4ˆ¯L{©‰G‚‡´=\eZÄW&Ö¾2 â+#ÍÉÂ#®2¡9q•iW™¶†«ŒÒ\DvOñ”QæÃSFA

怎么了?

4

1 回答 1

0

问题解决了,你可以看到这里的解释header was conflict with the imagepng($image);

固定代码:

<?php
header("Content-type: image/png");
// cria uma imagem em branco
$image = imagecreate(400, 300);

// prenche a cor do fundo
$bg = imagecolorallocate($image, 0, 0, 0);

// escolhe uma cor para o poligono
$col_poly = imagecolorallocate($image, 255, 255, 255);

// desenha o poligono
imagepolygon($image, 
             array (
                    0, 0,
                    100, 200,
                    300, 200
             ),
             3,
             $col_poly);

// put the image out
imagepng($image);

?>

只是改变了标题的位置。

于 2013-09-01T01:27:40.443 回答