2011-03-09 6 views
2

건초,이 코드를 사용하여 이미지를 생성하고 회색으로 채 웁니다.ImageGD가 올바르게 채워지지 않음

$canvas = imagecreatetruecolor(100, 100); 
$gray = imagecolorallocate($canvas, 0xEE, 0xEE, 0xEE); 
imagefill($canvas, 0, 0, $gray);  
imagegif($canvas); 

잘 작동하지만 캔버스 크기를 '긴'이미지로 변경하면 채워지지 않습니다.

$canvas = imagecreatetruecolor(1, 100); 

일반적인 버그입니까? 아니면 다른 옵션이 필요합니까? 전체 캔버스를 어떻게 채울 수 있습니까?

+0

채우기에 실패 했습니까, 아니면 회색이기 때문에 말할 수 없습니까? 색상을 빨간색으로 변경하고 다시 확인해보십시오. –

답변

1

버그처럼 보입니다. 나는 같은 행동을 확인한다. 너비를 1로 지정하면 상위 2 픽셀 만 채 웁니다. 2 또는 3과 비슷합니다. 4는 마법의 가치처럼 보입니다. 이 버그는 당신이 1 픽셀의 높은 이미지를 사용하는 경우 표시하지 않는 것 같습니다 한편

, 즉, 나는 이것을 시도하고 예상대로 일 :

$canvas = imagecreatetruecolor(100, 1);                             
$red = imagecolorallocate($canvas, 0xEE, 0, 0);                           
imagefill($canvas, 0, 0, $red);                              
imagegif($canvas, "output.png"); 

그래서 이것은 일종의 수 있습니다 해결 방법.

관련 문제