PHP 添加水印 & 比例缩略图 & 固定高度 & 固定宽度 类。
来源:互联网 发布:淘宝账号注册自动 编辑:程序博客网 时间:2024/06/02 15:47
<?php //PHP 添加水印 & 比例缩略图 & 固定高度 & 固定宽度 类。class Image_process{public $source;//原图public $source_width;//原图宽度public $source_height;//原图高度public $source_type_id;public $orign_name;public $orign_dirname;//传入原图路径public function __construct($source){$this->typeList = array(1=>'gif',2=>'jpg',3=>'png');$ginfo = getimagesize($source);$this->source_width = $ginfo[0];$this->source_height = $ginfo[1];$this->source_type_id = $ginfo[2];$this->orign_url = $source;$this->orign_name = basename($source);$this->orign_dirname = dirname($source);}//判断图片的文件的格式,返回PHP可识别的编码public function judgeType($type,$source){if($type == 1){return imagecreatefromgif($source); //gif}else if($type == 2){return imagecreatefromjpeg($source); //jpg}else if($type == 3){return imagecreatefrompng($source); //png}else{return false;}}//生成水印图片public function waterMakeImage($logo){$linfo = getimagesize($logo);$logo_width = $linfo[0];$logo_height = $linfo[1];$logo_type_id = $linfo[2];$sourceHandle = $this->judgeType($this->source_type_id,$this->orign_url);$logoHandle = $this->judgeType($logo_type_id,$logo);if(!$sourceHandle || !$logoHandle){return false;}$x = ($this->source_width - $logo_width)/2;$y = ($this->source_height - $logo_height)/2;imagecopy($sourceHandle,$logoHandle,$x,$y,0,0,$logo_width,$logo_height);$newPic = $this->orign_dirname.'\water_'.time().'.'.$this->typeList[$this->source_type_id];if($this->saveImage($sourceHandle,$newPic)){imagedestroy($sourceHandle);imagedestroy($logoHandle);}}//固定高度宽度public function fixSizeImage($width,$height){if($width > $this->source_width) $this->source_width;if($height > $this->source_height) $this->source_height;if($width === false){$width = floor($this->source_width / ($this->source_height / $height));}if($height === false){$height = floor($this->source_height / ($this->source_width / $width));}$this->tinyImage($width,$height);}//等比例缩放图片public function scaleImage($scale){$width = floor($this->source_width * $scale);$height = floor($this->source_height * $scale);$this->tinyImage($width, $height);}//创建缩略图public function tinyImage($width,$height){$tinyImage = imagecreatetruecolor($width,$height);$handle = $this->judgeType($this->source_type_id,$this->orign_url);if(function_exists('imagecopyresampled')){imagecopyresampled($tinyImage, $handle, 0, 0, 0, 0, $width, $height, $this->source_width, $this->source_height);}else{imagecopyresized($tinyImage, $handle, 0, 0, 0, 0, $width, $height, $this->source_width, $this->source_height);}$newPic = $this->orign_dirname.'\thumb_'.time().'_'.$width."_".$height.".".$this->typeList[$this->source_type_id];if($this->saveImage($tinyImage,$newPic)){imagedestroy($tinyImage);imagedestroy($handle);}}//保存图片private function saveImage($image,$url){if(imagejpeg($image,$url)){return true;}}}$imgHandle = new Image_process('D:\AppServ\www\test\getimg\14061907445601.jpg');//$imgHandle->waterMakeImage('D:\AppServ\www\test\getimg\shougongke.png');//生成水印图片//$imgHandle->fixSizeImage(200,150);//固定长度图片$imgHandle->scaleImage(0.2);//等比例缩放?>
0 0
- PHP 添加水印 & 比例缩略图 & 固定高度 & 固定宽度 类。
- PHP 添加水印 & 比例缩略图 & 固定高度 & 固定宽度 类。
- 用CSS实现高度宽度固定比例,宽度不固定
- android创建固定宽度,高度的图片,比例缩放
- 宽度固定高度按原图比例适应的ImageView
- ImagView宽度固定,高度根据控件宽度与图片宽度比例进行自适应
- div 固定高度,设定比例的宽度,超出指定高度时竖直滚动条出现
- android 根据固定的宽度或高度等比例缩放图片
- ImageView 按固定宽度等比例缩放
- iOS 图片宽固定 高度保持比例
- CSS 控制固定高度和宽度
- CSS布局左中右宽度固定高度自动
- 宽度固定,高度自适应的imageview
- 关于table设置固定宽度高度自适应
- [iOS固定宽度后计算UILable高度]
- imageview如何固定宽度(例如都是320),而高度随真实图片的比例来设定
- 自定义控件-宽度固定 高度随宽度变化的图片
- PHP图片处理函数 类 (水印图,缩略图)[关于等比例压缩与裁剪压缩]
- hdu 寒冰王座
- 一个密码改变了我的人生
- Dxva
- 网站出问题怎么办
- Linux(Ubuntu)开启ssh服务
- PHP 添加水印 & 比例缩略图 & 固定高度 & 固定宽度 类。
- 查询电话联系人(包括sim卡)
- freemarker使用心得
- hdu 2138 How many prime numbers(数论:素数判定)
- 后会无期
- 为什么你这么笨呀?
- 一个整数数组,长度为n,将其分为m份,使各份的和相等,求m 的最大值比如{3,2,4,3,6} 可以分成{3,2,4,3,6} m=1; {3,6}{2,4,3} m=2 {3,3}{2
- RCP: P2 Update两个烦人bug和解决办法
- julia 与并行计算(部分有参考和转载)