$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();
?>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver Mac版
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版
中文版,非常好用