나는 웹 사이트에 대한 사용자 정의 찾고 배너 아바타를 만들려고합니다. 아래 이미지는 일어날 필요가 무엇인지 보여줍니다전체 색상의 PHP GD, 투명 PNG 온톨 JPG
당신이 볼 수 있듯이, 나는 반투명 PNG, 사용자가 제공 한 이미지를 가지고 있고이 세 번째 이미지를 만들 싶습니다.
내가 지금까지 작성한 코드는 다음과 같습니다
나는 분명히 여전히 사용자가 제공 한 이미지를 만들 필요가 :
$user_id = 1;
$name_qry = mysql_query("SELECT a.*, b.* FROM mbr_user_name a, mbr_user_information b WHERE a.user_id = '$user_id' AND b.user_id = '$user_id'");
while($row = mysql_fetch_array($name_qry)){
$user_name = $row['user_name'];
$user_email = $row['user_email'];
$user_avatar = $row['user_avatar'];
}
$height = "208";
$width = "199";
$top_image = "../images/bannerShadow_cccccb.png";
$image = imagecreatefrompng("." . $user_avatar);
$banner = imagecreatefrompng($top_image);
//Keeping the Banner Trasnparent
$transBanner = imagecreate($width, $height);
$color = imagecolorallocatealpha($transBanner, 0, 0, 0, 127);
imagefill($transBanner, 0, 0, $color);
imagecopyresampled($transBanner, $banner, 0, 0, 0, 0, $width, $height, $width, $height);
imagealphablending($transBanner, true);
imagecopymerge($image, $transBanner, 0, 0, 0, 0, 199, 208, 100);
imagepng($image);
은 다음과 같습니다 어떤 식으로 뭔가를 출력 올바른 크기, 그건 단순한 수학 문제입니다 - 바로 지금 투명도를 유지해야합니다!
나는 밖으로 가지고가는 경우 :
imagealphablending($transBanner, true);
imagecopymerge($image, $transBanner, 0, 0, 0, 0, 199, 208, 100);
및 투명 PNG 투명 남아있을 것입니다, imagepng($transBanner);
에 마지막 줄을 변경!하지만 난 함께 두 가지를 넣어하려고하면, 그것은 투명성에게 완벽한 검은 색을 만든다 .
제안 사항?
[wideimage] (http://wideimage.sourceforge.net/)에는 이미 merge 또는 mask 중 하나가 있다고 생각합니다. http://wideimage.sourceforge.net/wp-content /current/demo/index.php?demo=merge&output=preset%20for%20demo&colors=255&dither=1&match_palette=1 - 크기도 변경할 수 있습니다. – hakre
감사합니다.하지만 이미 워터 마크를 넣을 수 있습니다. 와이드 이미지가하는 일은 100 % 불투명 한 이미지를 찍은 다음 50 % 불투명도로 수행하고있는 작업을 정확하게 수행하고 있습니다. 또한이 웹 사이트에 올 모든 사용자에 대해이 작업을 수행해야합니다. – ntgCleaner
와이드 이미지와 여러 매개 변수로 구성 할 수 있습니다. 그리고 당신은 한 번 또는 여러 번 할 수 있습니다. – hakre