0

0

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

php中文网

php中文网

发布时间:2016-06-13 09:48:40

|

1386人浏览过

|

来源于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();

?>

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

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

下载

相关标签:

php

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

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

203

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

111

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

124

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

93

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

664

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

19

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

15

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

6

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

3

2025.12.31

热门下载

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

精品课程

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

共137课时 | 8.2万人学习

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

共6课时 | 6.9万人学习

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

共13课时 | 0.8万人学习

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

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