$image =imagecreatefrompng("17.png");
imagealphablending($image, true);
$water =imagecreatefrompng("18.png");
imagealphablending($water, true);
$width =imagesx($water);
$height = imagesy($water);
//将水印加到图片左上角
imagecopyresampled($image,$water,3,22,0,0,$width,$height,$width,$height);
$background_color = imagecolorallocate($water, 255, 255,255);//背景色为白色
imagecolortransparent($image,$background_color);//将背景颜色(白色)设置为透明色
imagejpeg($image,"17_a.png",100);
imagedestroy($image); 来一来,看一看
大家来看看为什么背景没有变成透明的,应该怎么样做才行
imagealphablending($image, true);
$water =imagecreatefrompng("18.png");
imagealphablending($water, true);
$width =imagesx($water);
$height = imagesy($water);
//将水印加到图片左上角
imagecopyresampled($image,$water,3,22,0,0,$width,$height,$width,$height);
$background_color = imagecolorallocate($water, 255, 255,255);//背景色为白色
imagecolortransparent($image,$background_color);//将背景颜色(白色)设置为透明色
imagejpeg($image,"17_a.png",100);
imagedestroy($image); 来一来,看一看
大家来看看为什么背景没有变成透明的,应该怎么样做才行
怎么没有$transparent = 50;
我重给你发一个,你比较一下function watermask($destination,$waterpngfilename,$pos = 'rb',$transparent = 50)
{
$imagetype = array("1"=>"gif","2"=>"jpeg","3"=>"png","4"=>"wbmp"); //here,is the type of image style
$image_size = getimagesize($destination);
$iinfo=getimagesize($destination,$iinfo);
$f ="imagecreatefrom".$imagetype[$iinfo[2]];
$simage = $f($destination);
$imagesize_mask = getimagesize($waterpngfilename);
$f ="imagecreatefrom".$imagetype[$imagesize_mask[2]];
$simage1 = $f($waterpngfilename); switch($pos) //the position of the watermask you want
{
case 'lt'://左上角
imagecopymerge($simage,$simage1,0,0,0,0,$imagesize_mask[0],
$imagesize_mask[1],$transparent);
break;
case 'lb'://左下角
imagecopymerge($simage,$simage1,0,$image_size[1]-$imagesize_mask[1]
,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent);
break;
case 'rt':
imagecopymerge($simage,$simage1,$image_size[0]-$imagesize_mask[0],
0,0,0,$imagesize_mask[0],$imagesize_mask[1],$transparent);
break;
case 'rb':
imagecopymerge($simage,$simage1,$image_size[0]-$imagesize_mask[0],
$image_size[1]-$imagesize_mask[1],0,0,$imagesize_mask[0],
$imagesize_mask[1],$transparent);
break;
}
$f ="image".$imagetype[$iinfo[2]];
$f($simage,$destination);
imagedestroy($simage);
imagedestroy($simage1);
}
watermask("destination.jpg","Watermask.gif");// Call the function here as an example
所以
imagecolortransparent($image,$background_color);//将背景颜色(白色)设置为透明色
应为
imagecolortransparent($water,$background_color);//将背景颜色(白色)设置为透明色
并在
imagecopyresampled($image,$water,3,22,0,0,$width,$height,$width,$height)
之前执行