给图片添加水印
Posted zhouwanqiu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给图片添加水印相关的知识,希望对你有一定的参考价值。
<?php $bg_src="./bg.jpg"; $logo_src="./logo.png"; //获取图片的width宽、height高、mime后缀类型 $bg_size=getimagesize($bg_src); $logo_size=getimagesize($logo_src); $bg_width=$bg_size[0]; $bg_height=$bg_size[1]; $bg_mime=$bg_size[‘mime‘]; $logo_width=$logo_size[0]; $logo_height=$logo_size[1]; $logo_mime=$logo_size[‘mime‘]; $position=0;//水印相对背景图的位置;0表示位置在左上角,1表示位置在上边中间,2表示位置在右上角,3表示位置在左侧中间,4表示位置在中心,5表示位置在右侧中间,6表示位置在左下角,7表示位置在下边中间,8表示位置在右下角 $alpha=100;//水印的透明度0~100 //1.打开两张图片 function mime($mime,$src){ switch ($mime){ case "image/jpeg": $img=imagecreatefromjpeg($src); break; case "image/png": $img=imagecreatefrompng($src); break; case "image/gif": $img=imagecreatefromgif($src); break; case "image/wbmp": $img=imagecreatefromwbmp($src); break; case "image/xbm": $img=imagecreatefromxbm($src); break; } return $img; } $bg=mime($bg_mime,$bg_src); $logo=mime($logo_mime,$logo_src); //2.合并两张图片 switch ($position){ case 0: $x=0; $y=0; break; case 1: $x=$bg_width/2-$logo_width/2; $y=0; break; case 2: $x=$bg_width-$logo_width; $y=0; break; case 3: $x=0; $y=$bg_height/2-$logo_height/2; break; case 4: $x=$bg_width/2-$logo_width/2; $y=$bg_height/2-$logo_height/2; break; case 5: $x=$bg_width-$logo_width; $y=$bg_height/2-$logo_height/2; break; case 6: $x=0; $y=$bg_height-$logo_height; break; case 7: $x=bg_width/2-$logo_width/2; $y=$bg_height-$logo_height; break; case 8: $x=$bg_width-$logo_width; $y=$bg_height-$logo_height; break; } imagecopymerge($bg,$logo,$x,$y,0,0,$logo_width,$logo_height,$alpha); //3.通知浏览器 header("content-type:image/png"); //4.输出图像 imagepng($bg); //5.释放资源 imagedestroy($bg); imagedestroy($logo); ?>
以上是关于给图片添加水印的主要内容,如果未能解决你的问题,请参考以下文章