php图片增加中文与图片水印代码 |
时间:2015-01-23 来源:西部数据 作者:西部数据 |
|
$ico_pic 是你要给图片加水印的水印图片,其它的参数都有详细的说明,如果你正在找这类代码可以下载保存成php文件,再利用后面说的调用方法来调用生成水印图片类代码.
php图片增加中文与图片水印代码如下:
- <?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;
- private $src_y = 20;
- 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;
- }
-
-
-
-
-
- function getimageinfo($image){
- return @getimagesize($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);
- }
-
-
-
-
-
- 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);
- }
-
-
-
-
- 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_y = 80;
- $pic->ut = "utf-8";
- $pic->font_color = "#0521f8";
- $pic->samll_pic_name = "hslsamll";
- $pic->big_pic_name = "hslbig";
- $pic->createsmallimage();
-
- ?>
|
|
|
|