php imagecolorallocate( )와 imagefill( ) 채택완료

php imagecolorallocate( )와 imagefill( )의 차이가 뭣일까요?

 

imagecolorallocate( )는 rgb로 색상을 옵젝트에 채우고

imagefill( )은 지정된 x,y지점부터 색상을 채우는데

 

색상 채우는 가능으로 같은 것을 처리하는걸로 보이는데,

thumbnail.lib 에 대략 345행쯤에,

 

$current_transparent = imagecolorallocate($dst, $transparent_color['red'], $transparent_color['green'], $transparent_color['blue']);

imagefill($dst, 0, 0, $current_transparent);

 

왜 또 한번 호출되는지요,

감사합니다

 

답변 1개

채택된 답변
+20 포인트

imagefill 은 색상을 채우는게 맞구요..

imagecolorallocate 는 색상코드를 만들어주는 역할을 합니다.

http://www.w3big.com/ko/php/php-imagecolorallocate.html

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

그렇군요. 그런데 여기저기 예를 봐도, 님의 링크에 있는 예제 또한
imagecolorallocate로 인해 흰색 바탕이 채워지는 듯한데..

거기 예제에
<?php
header("Content-type: image/png");
$im = @imagecreate(100, 50)
or die("");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

$background_color가 imagecolorallocate로 인하여 255,255,255로 칠해진거 아닌가요?
$text_color도 233,14,91의 빨강으로 칠해졌고..
$background_color 와 $text_color 는 칠해지는게 아니라..
아래와 같이 색상코드가 지정된 겁니다..

$background_color = "#000000";
$text_color = "#FF6600";
감사합니다

아오 머리 아프네요. 지정만 된건데 어찌해서 $background_color와 $text_color 는 이미 칠해져서 나오는걸까요? 답변은 감사합니다
imagecolorallocate 는 색상을 지정만 하구요..
imagefill 가 실제로 색상을 채워서 보여지게 만드는 겁니다..^^
감사합니다~!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고