2011-10-01 3 views
2

는 동적으로 나는 다음과 같은 코드동적으로

$imgname = "source.png"; 
$im = imagecreatefrompng ($imgname); 
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 27, 133, 85)) 
{ 
    echo 'Image successfully shaded as per color.'; 

    imagepng($im, 'Result.png'); 
    imagedestroy($im); 
} 
else 
{ 
    echo 'Image create succesfully.'; 
} 

을 사용 PHP를 사용하여 이미지의 색상을 변경해야하지만 난 투명 이미지를 사용하는 경우는

우리가 해결할 수있는 나에게 큰 일이 국경을 보여 GD Lib 또는 이미지 스틱을 사용하여 모든 기능을 ???

답변

2

품질 문제 또는 섀도 문제에 대해 이야기하고 있다면 필터를 적용하기 전에 imagesavealpha 함수를 사용하여 해결할 수 있습니다.

코드는

<?php 
$imgname = "source.png"; 
$im = imagecreatefrompng ($imgname); 
imagesavealpha($im, true); 
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 27, 133, 85)) 
{ 
    echo 'Image successfully shaded as per color.'; 

    imagepng($im, 'Result.png'); 
    imagedestroy($im); 
} 
else 
{ 
    echo 'Image create succesfully.'; 
} 
?> 
+0

, ** imagesavealpha() ** 잘 작동하다이어야한다; –

+0

imagefilter를 사용하여 색상을 전달하면 색상이 변경되지만 결과 이미지 색상은 내가 통과 한 색상이 아닙니다. 어떠한 제안? – mysterious

+0

작업 및 이미지 색상에 사용되는 이미지를 공유하면 좋을 것입니다. –