2013-09-01 42 views
1

當試圖繪製一個簡單的多邊形時,會發生奇怪的輸出。imagepolygon - 生成奇怪的輸出

<?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üä‘<ò-ÒÈ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ñ[email protected]‘»¬ÌàÊÄ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 

發生了什麼?

+0

[Headers already already sent by PHP]可能的重複(http://stackoverflow.com/questions/8028957/headers-already-sent-by-php) –

+1

它看起來更像是gd-libary不可用。你確定你已經安裝了Hedron? –

+0

好吧,那一定是吧。現在,我如何安裝gd-library? –

回答

0

問題解決, 你可以看到解釋here標題與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); 

?> 

只是改變了報頭的位置。