• 图片添加文字水印 和图片水印


    <?php
        /**
         * @desc 图片处理类
         */
         class Pic{
            private $info;
            private $res;
            public $thumb_pic;
            public function __construct($picPath){
                //获取图片信息
                $this->info = getimagesize($picPath);
                //获取图片名
                $this->info['type'] = image_type_to_extension($this->info[2],false);
                $funs = 'imagecreatefrom'.$this->info['type'];
                $this->res = $funs($picPath);
            }
            //缩略图
            public function thumb($w=100,$h=100){
                //创建图片资源
                $image_thumb = imagecreatetruecolor($w,$h);
                imagecopyresampled($image_thumb,$this->res,0,0,0,0,$w,$h,$this->info[0],$this->info[1]);
                imagedestroy($this->res);
                $this->res = $image_thumb;
            }
    
            //展示
            public function showPic(){
                header('Content-type:'.$this->info['type']);
                $funs = 'image'.$this->info['type'];
                $funs($this->res);
            
            }
            
            //保存
            public function savePic($newname){
                $funs = 'image'.$this->info['type'];
                $funs($this->res,$newname.".".$this->info['type']);
            
            
            }
            
            //销毁图片
            public function __destruct(){
                imagedestroy($this->res);
            
            }
            /**
             * @desc  添加文字水印
             * @param $content string    文字
             * @param $fonturl string     字体路径
             * @param $fontsize int       字体大小
             * @param $fontcolor array     设置颜色和透明度
             * @param $local array      水印坐标
             * @param $fontangle int    字体旋转角度
             */
            public function fontMark($content,$fonturl,$fontsize,$fontcolor,$local,$fontangle){
                $color = imagecolorallocatealpha($this->res,$fontcolor[0],$fontcolor[1],$fontcolor[2],$fontcolor[3]);
                imagettftext($this->res,$fontsize,$fontangel,$local['x'],$local['y'],$color,$fonturl,$content);
            
            }
            /**
             * @desc  添加图片水印
             * @param $markPic string 水印图片
             * @param $local array     图片坐标
             * @param $alpha array     设置颜色和透明度
             */
            public function picMark($markPic,$local,$alpha){
                $markInfo = getimagesize($markPic);
                $markType = image_type_to_extension($markInfo[2],false);
                $markFun = 'imagecreatefrom'.$markType;
                $markWater = $markFun($markPic);
                imagecopymerge($this->res,$markWater,$local['x'],$local['y'],0,0,$markInfo[0],$markInfo[1],$alpha);
                imagedestroy($markWater);
            
            }
         }
         $pic = new Pic('yibo_pic28.jpg');
         $pic->picMark('logo3.png',array('x'=>50,'y'=>50),30);
         $pic->showPic();
  • 相关阅读:
    Repeater控件分页例子
    利用Repeater控件显示主-从关系数据表 (NestedRepeater.aspx)
    Visual C#设计多功能关机程序(2)
    ASP.Net 数据绑定之选择合适的数据控件
    模板化数据绑定控件示例
    Visual C#设计多功能关机程序(1)
    利用Repeater控件显示主-从关系数据表 (NestedRepeater.aspx.cs)
    iBatis 调用 PostgreSQL 存储过程返回结果集
    SubVersion 安装为 Windows 服务 (Service)
    Eclipse 运行使用指定的 JVM m2eclipse 插件找不到 com.sun 的 defaulttools.jar 的解决方案
  • 原文地址:https://www.cnblogs.com/ikasa007/p/4323098.html
Copyright © 2020-2023  润新知