此处使用的函数是:imagecopymerge — —拷贝并合并图像的一部分。
bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )
将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。两图像将根据 pct 来决定合并程度,其值范围从 0 到 100。当 pct = 0 时,实际上什么也没做,当为 100 时对于调色板图像本函数和 imagecopy() 完全一样,它对真彩色图像实现了 alpha 透明。
其中参数$pct,就是透明度。
透明度为10:
透明度为50:
透明度为90:
以下是一个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php //目标图片路径 $dst_img='./file/tb_about.jpg'; //源图片路径 $src_img='./file/Ubuntu.jpg'; //创建目标图片资源句柄 $dst_im=imagecreatefromjpeg($dst_img); //创建源图片资源句柄 $src_im=imagecreatefromjpeg($src_img); //从源图片坐标为(0,0)(src_x,src_y)开始,宽(src_w)为121,高(src_h)为75的区域,经过透明度($pct)为50的处理后复制到 //目标图片坐标为(300,100)(dst_x,dst_y)为起始位置的区域中 imagecopymerge($dst_im,$src_im,300,100,0,0,121,75,50); //复制成功后的图片会生成到目标图片中(dst_im) //把生成的最终图片保存到本地 imagejpeg($dst_im,'./file/copymerge50.jpg'); //销毁对应的图片资源 imagedestroy($dst_im); imagedestroy($src_im); ?> |