2010-08-16 4 views
2

투명 용지를 사용하여 PNG 이미지의 실루엣을 만들려고합니다. 여기PHP GD : 투명 이미지 용 흐림


//file that i am working with 
$file='http://www.google.com/mapfiles/turkey.png'; 
$im =imagecreatefrompng($file); 
imagealphablending($im, false); 
imagesavealpha($im, true); 
$imw  =imagesx($im); 
$imh  =imagesy($im); 
//turkey body color 
$bodycolor=imagecolorallocatealpha($im, 144, 144, 144, 50); 
//imageholder 
$imnew =imagecreatetruecolor($imh, $imh); 
imagealphablending($imnew, false); 
imagesavealpha($imnew, true); 
$transparent_color=imagecolorallocatealpha($imnew, 0, 0, 0, 127); 
imagecolortransparent($imnew, $transparent_color); 
imagefilledrectangle($imnew, 0, 0, $imh, $imh, $transparent_color); 
for ($i=0; $i > 24; 
     //all not transparent pixels are copied to imageholder 
     if ($alpha != 127) 
      { 
      imagesetpixel($imnew, $i, $j, $bodycolor); 
      } 
     } 
    } 
//blur filter 
imagefilter($imnew, IMG_FILTER_GAUSSIAN_BLUR); 
imagefilter($imnew, IMG_FILTER_GAUSSIAN_BLUR); 
imagefilter($imnew, IMG_FILTER_GAUSSIAN_BLUR); 
header ("Content-type: image/png"); 
imagepng ($imnew); 
imagedestroy ($imnew); 
?> 

그래서, 나는 실루엣 흐리게 가장자리 칠면조 오티 얻을 필요가 내 코드입니다. 내가 얻는 것은 link text와 같습니다. 나는 가장자리가 흐려지기를 "바깥 쪽"으로해야한다. 그래서 픽셀이 가장자리에서 멀어 질수록 같은 rbg에서 더 투명해진다. 그리고 imagefilter도 칠면조 조금 올립니다 :) 제발 도와주세요, 나는 며칠 동안 이것을 해결하려고 노력하고 있습니다.

이 같은 더 복잡한 이미지 조작에 대한

답변

0

은, 내가보기 엔 당신은 ImageMagick를를 사용하는 것이 좋습니다 것입니다 : http://www.imagemagick.org 그것은, 서버에게 매우 빠른 설치 매우 쉽게 큰 문서를 가지고

. 그들은 당신이 말하는 것에 대해 전체 섹션을 가지고 있습니다 : http://www.imagemagick.org/Usage/channels/

+0

불행히도 내 서버에서 Imagick을 사용할 수 없습니다. 하지만 답장을 주셔서 감사합니다 :) – Tim