0

0

php图片增加中文与图片水印代码_PHP教程

php中文网

php中文网

发布时间:2016-07-13 10:45:45

|

1277人浏览过

|

来源于php中文网

原创

$ico_pic 是你要给图片加水印的水印图片,其它的参数都有详细的说明,如果你下大找这类代码可以下载保存成php文件再利用后面说的调用方法来调用本生成水印图片类代码。

$ico_pic 是你要给图片加水印的水印图片,其它的参数都有详细的说明,如果你下大找这类代码可以下载保存成php教程文件再利用后面说的调用方法来调用本生成水印图片类代码。
 */

 class smallpic{   private $src_pic;//原图   private $ico_pic = "003.png";//水印图   private $ico_text = "水印";//水印文字   private $small_width;//缩略图宽度   private $small_height;//缩略图高度   private $is_ico_pic = true;//是否加图片水印   private $is_text = true;//是否加文字水印   private $src_x = 20;//水印在原图的x坐标   private $src_y = 20;//水印在原图的y坐标   private $ut = "utf-8";//文字编码   private $font_color = "#990000";//文字水印颜色   private $samll_pic_name = "smallpic";//小图的名称   private $big_pic_name = "bigpic";//大图的名称   function __construct($src_pic,$small_width,$small_height){    $this->checkfile($src_pic);    $this->checkfile($this->ico_pic);   $this->src_pic = $src_pic;   $this->small_width = $small_width;   $this->small_height = $small_height;   }  private function __get($property_name){   return $this->$property_name;  }  private function __set($property_name,$value){   return $this->$property_name = $value;  }  /**   * 取得图片的一些基本信息,类型为array   */   function getimageinfo($image){   return @getimagesize($image);   }  /**   * 把图片加载到php中   * $image 传进来的图片   */   function getimage($image){   $image_info = $this->getimageinfo($image);   switch($image_info[2]){    case 1:     $img = @imagecreatefromgif($image);     break;    case 2:     $img = @imagecreatefromjpeg($image);     break;    case 3:     $img = @imagecreatefrompng($image);     break;   }   return $img;   }  function createimageforsuffix($big_pic,$new_pic){   $image_info = $this->getimageinfo($this->src_pic);   switch($image_info[2]){    case 1:     //输出大图     @imagegif($big_pic,$this->big_pic_name.".gif");     //输出小图     @imagegif($new_pic,$this->samll_pic_name.".gif");     break;    case 2:     //输出大图     @imagejpeg($big_pic,$this->big_pic_name.".jpg");     //输出小图     @imagejpeg($new_pic,$this->samll_pic_name.".jpg");     break;    case 3:     //输出大图     @imagepng($big_pic,$this->big_pic_name.".png");     //输出小图     @imagepng($new_pic,$this->samll_pic_name.".png");     break;   }  }  function checkfile($file){   if(!file_exists($file)){    die("图片:".$file."不存在!");   }  }  function createsmallimage(){   $big_pic = $this->getimage($this->src_pic);   $big_pic_info = $this->getimageinfo($this->src_pic);   $new_pic = $this->getimage($this->ico_pic);   $new_pic_info = $this->getimageinfo($this->ico_pic);   $rgb = $this->convcolor();   //判断是按宽比例缩放还是按高比例缩放   if($big_pic_info[0] > $big_pic_info[1]){    $ratio = $this->small_width/(int)$big_pic_info[0];    $small_pic_width = $this->small_width;    $small_pic_height = (int)($big_pic_info[1]*$ratio);   }else{    $ratio = $this->small_height/(int)$big_pic_info[1];    $small_pic_height = $this->small_height;    $small_pic_width = (int)($big_pic_info[0]*$ratio);   }   //echo $small_pic_width = (int)($big_pic_info[0]*$ratio);   //echo $small_pic_height = (int)($big_pic_info[1]*$ratio);   //是否打图片水印   if ($this->is_ico_pic){    //打图片水印    @imagecopy($big_pic,$new_pic,$this->src_x,$this->src_y,0,0,$new_pic_info[0],$new_pic_info[1]);   }   //是否打文字水印   if ($this->is_text){    //设置文字颜色    $text_color = @imagecolorallocate($big_pic,$rgb[0],$rgb[1],$rgb[2]);    //转换文字编码    $text = @iconv($this->ut,"utf-8",$this->ico_text);    //打文字水印    @imagettftext($big_pic,12,0,$this->src_x,$this->src_y,$text_color,"simkai_0.ttf",$text);   }   //新建一个新图片的画板   $new_pic = @imagecreatetruecolor($small_pic_width,$small_pic_height);   //生成缩略图   @imagecopyresized($new_pic,$big_pic,0,0,0,0,$small_pic_width,$small_pic_height,$big_pic_info[0],$big_pic_info[1]);   //输出图   $this->createimageforsuffix($big_pic,$new_pic);  }  /**   * 类内部的功能函数把#000000转换成255,255,255   */  private function convcolor(){   $rgb = array();   $color = preg_replace("/#/","",$this->font_color);   $c = hexdec($color);   $r = ($c >> 16) & 0xff;   $g = ($c >> 8) & 0xff;   $b = $c & 0xff;   $rgb[0] = $r;   $rgb[1] = $g;   $rgb[2] = $b;   return $rgb;  }  }

//调用方法
 

$pic = new smallpic("002.jpg",600,300);
 $pic->is_text = true;
 $pic->is_ico_pic = true;
 $pic->ico_pic = "./images/004.png";
 $pic->ico_text = "新年快乐!";
 //$pic->src_x = 80;
 $pic->src_y = 80;
 $pic->ut = "utf-8";
 $pic->font_color = "#0521f8";
 $pic->samll_pic_name = "hslsamll";
 $pic->big_pic_name = "hslbig";
 $pic->createsmallimage();

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/633001.htmlTechArticle$ico_pic 是你要给图片加水印的水印图片,其它的参数都有详细的说明,如果你下大找这类代码可以下载保存成php文件再利用后面说的调用方...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

1

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

15

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.13

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.6万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号