码迷,mamicode.com
首页 > 其他好文 > 详细

给图片添加水印

时间:2018-07-13 11:06:08      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:加水印   gif   class   图像   输出   function   ade   cti   位置   

<?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);   

?>

 

给图片添加水印

标签:加水印   gif   class   图像   输出   function   ade   cti   位置   

原文地址:https://www.cnblogs.com/zhouwanqiu/p/9303664.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!