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

图片添加水印

时间:2018-05-29 18:54:00      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:ase   turn   nbsp   fun   随机   rtrim(   cer   open   打开   

<?php

 wather(‘3.jpg‘);

    //图片水印的封装

    function wather($soruce,$water=‘2.jpg‘,$position=9,$alpha = 100, $type = "jpeg",$path = ‘test‘,$isRanName = true)

    {

        //打开图片

        $soruceRes = open($soruce);

        $waterRes = open($water);

        

        //获取图片的大小 算出位置

        $soruceInfo = getimagesize($soruce);

        $waterInfo = getimagesize($water);

        

        //算出位置

        switch($position)

        {

            case 1:

                $x = 0;

                $y = 0;

                break;

                

            case 2:

                $x = ($soruceInfo[0] - $waterInfo[0]) / 2;

                $y = 0;

                break;

            

            case 3:

                $x = $soruceInfo[0] - $waterInfo[0];

                $y = 0;

                break;

            

            case 4:

                $x = 0;

                $y = ($soruceInfo[1] - $waterInfo[1]) / 2;

                break;

            

            case 5:

                $x = ($soruceInfo[0] - $waterInfo[0]) / 2;

                $y = ($soruceInfo[1] - $waterInfo[1]) / 2;

                break;

            

            case 6:

                $x = $soruceInfo[0] - $waterInfo[0];

                $y = ($soruceInfo[1] - $waterInfo[1]) / 2;

                break;

            

            case 7:

                $x = 0;

                $y = $soruceInfo[1] - $waterInfo[1];

                break;

            

            case 8:

                $x = ($soruceInfo[0] - $waterInfo[0]) / 2;

                $y = $soruceInfo[1] - $waterInfo[1];

                break;

            

            case 9:

                $x = $soruceInfo[0] - $waterInfo[0];

                $y = $soruceInfo[1] - $waterInfo[1];

                break;

            

            default:

                $x = mt_rand(0,$soruceInfo[0] - $waterInfo[0]);

                $y = mt_rand(0,$soruceInfo[1] - $waterInfo[1]);

                break;

        }

        //把x y 求出来的值供两张图片合并的时候用

        imagecopymerge($soruceRes,$waterRes,$x,$y,0,0, $waterInfo[0],$waterInfo[1],$alpha);

        

        $func = ‘image‘.$type;

        

        //处理path路径 是否启用随机文件名    

        if($isRanName)

        {

            $name = uniqid().‘.‘.$type;

        }else{

            $pathinfo = pathinfo($soruce);

            //var_dump($pathinfo);

            

            $name = $pathinfo[‘filename‘].‘.‘.$type;

        }

        

        $path = rtrim($path,‘/‘).‘/‘.$name;

        

        $func($soruceRes,$path);

        

        imagedestroy($soruceRes);

        

        imagedestroy($waterRes);

        

    }

 

    //打开图片的函数

    function open($path)

    {

        //判断文件是否存在

        if(!file_exists($path))

        {

            exit(‘文件不存在‘);

        }

        

        $info = getimagesize($path);

        //var_dump($info );

        

        switch($info[‘mime‘])

        {

            case ‘image/jpeg‘:

            case ‘image/jpg‘:

            case ‘image/pjpeg‘:

                $res = imagecreatefromjpeg($path);

                break;

            case ‘image/png‘;

                $res = imagecreatefrompng($path);

                break;

            case ‘image/gif‘:

                $res = imagecreatefromgif($path);

                break;

            case ‘image/wbmp‘:

            case ‘image/bmp‘:

                $res = imagecreatefromwbmp($path);

                break;

        }

        return $res;

    }

 

图片添加水印

标签:ase   turn   nbsp   fun   随机   rtrim(   cer   open   打开   

原文地址:https://www.cnblogs.com/cqlb/p/9106253.html

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