21,887
社区成员
发帖
与我相关
我的任务
分享
<?php
$src = imagecreatefrompng("Logo.png"); # load 图片
$width = imagesx($src);
$height = imagesy($src);
$dst = imagecreate($width,$height);
imagecolorallocatealpha ($dst,255,255,255,127);
imagecopymerge($dst,$src,0,0,0,0,$width,$height,20);
imagepng($dst);
?>
<?php
$src = imagecreatefrompng("Logo.png"); # load 图片
$width = imagesx($src);
$height = imagesy($src);
$dst = imagecreate($width,$height);
imagecolorallocatealpha($dst,255,0,0,102); # 这里设背景色为102透明度(共127)
imagecopymerge($dst,$src,0,0,0,0,$width,$height,20); #这条语句会让上面那条失效.
imagepng($dst);
?>
<?php
header("Content-type: image/png"); # 设置输出文件头
$filename='source.jpg'; # 设置源文件地址
$sourceImg=imagecreatefromjpeg($filename); # 读取源图像
$waterImg=imagecreatefrompng('Logo.png'); # 读取水印标志
$bg_color = imagecolorat($waterImg,1,1); # 取出标志中需要设为透明的颜色
imagecolortransparent($waterImg,$bg_color); # 设置标志中需要透明的颜色
$sourceX = imagesx($sourceImg); # 取得源图像宽度
$sourceY = imagesy($sourceImg); # 取得源图像高度
$waterX = imagesx($waterImg);# 取得标志像宽度
$waterY = imagesy($waterImg);# 取得标志像高度
$x = ($sourceX-$waterX)/2;
$y = ($sourceY-$waterY)/2; #计算中心位置
imagecopymerge($sourceImg,$waterImg,$x,$y,0,0,$waterX,$waterY,50); #合并图像 合并度设置为50 .100为完全合并.相当于把第二个参数里的图像透明到原来的50/100然后贴到第一个参数的图像里
imagepng($sourceImg);#输出图像
?>
<?php
header("Content-type: image/png");
$filename='source.jpg';
$sourceImg=imagecreatefromjpeg($filename);
$waterImg=imagecreatefrompng('Logo.png');
$bg_color = imagecolorat($waterImg,1,1);
imagecolortransparent($waterImg,$bg_color); #图片内某颜色的透明
$sourceX = imagesx($sourceImg);
$sourceY = imagesy($sourceImg);
$waterX = imagesx($waterImg);
$waterY = imagesy($waterImg);
$x = ($sourceX-$waterX)/2;
$y = ($sourceY-$waterY)/2;
imagecopymerge($sourceImg,$waterImg,$x,$y,0,0,$waterX,$waterY,50); #最后一个参数是合并度也就是后面那张图片的透明度.
imagepng($sourceImg);
?>