php 缩略图封装类 制作缩略图
来源:互联网 发布:联通互联网套餐 知乎 编辑:程序博客网 时间:2024/06/05 04:35
<?phpclass ImageLib{ private $error; public function getError(){ return $this->error; } /* * 制作缩略图 * @param $src_path string 源图的路径 * @param $max_w int 画布的宽度 * @param $max_h int 画布的高度 * @param $flag bool 是否等比 * @param $prefix string 缩略图的前缀 */ public function thumb($src_path,$max_w,$max_h,$prefix='s_',$flag=false){ $ext= strtolower(strrchr($src_path,'.')); //获取文件的后缀 switch($ext){ case '.jpg': $type='jpeg'; break; case '.gif': $type='gif'; break; case '.png': $type='png'; break; default: $this->error='文件格式不正确'; return false; } $open_fn='imagecreatefrom'.$type; //拼接打开图片的函数 $src=$open_fn($src_path); //打开源图 $dst=imagecreatetruecolor($max_w,$max_h);//创建目标图 $src_w=imagesx($src);//源图的宽度 $src_h=imagesy($src);//源图的高度 if($flag){ //等比缩放 if($max_w/$max_h<$src_w/$src_h){ $dst_w=$max_w; $dst_h=$max_w*$src_h/$src_w; }else { $dst_h=$max_h; $dst_w=$max_h*$src_w/$src_h; } //在目标图上显示的位置 $dst_x=(int)(($max_w-$dst_w)/2); $dst_y=(int)(($max_h-$dst_h)/2); }else{ //不等比 $dst_x=0; $dst_y=0; $dst_w=$max_w; $dst_h=$max_h; } //生成缩略图 imagecopyresampled($dst,$src,$dst_x,$dst_y,0,0,$dst_w,$dst_h,$src_w,$src_h); $filename=basename($src_path); //文件名称 $foldername=substr(dirname($src_path),-10); //文件夹名 $thumb_path=$GLOBALS['config']['app']['upload_path'].$foldername.DS.$prefix.$filename;//保存路径 imagepng($dst,$thumb_path); imagedestroy($dst); imagedestroy($src); return $foldername.'/'.$prefix.$filename; }}
阅读全文
0 0
- php 缩略图封装类 制作缩略图
- php制作缩略图
- php 缩略图 封装一个方法
- 缩略图制作
- 制作缩略图
- PHP 生成缩略图类
- php缩略图类
- php生成缩略图类
- PHP生成缩略图类
- 制作缩略图java工具类
- 《PHP中生成缩略图函数封装》
- php缩略图...
- php缩略图
- PHP 缩略图
- php用流方式制作缩略图
- php用流方式制作缩略图
- 使用php制作简单的缩略图
- php缩略图,打水印类
- 安卓中图片占用内存大小分析
- android sdk | API level 24 | R.array
- Java基础-面向对象的封装和重载
- 统计学习方法----统计学习知识综述
- 新零售 更加需要以人为本
- php 缩略图封装类 制作缩略图
- VLC直接播放h.264裸流(通过配置SEI信息实现)
- mysql 无法退出sql命令行编辑
- RT-Thread 学习笔记(六)——串口
- 视频化信息——视频压缩原理&用iMovie制作视频简易教程
- linux压缩、解压命令集合
- 这篇文章要读了3遍才差不多
- 【Python编程:从入门到实践】第十一章:测试代码
- Linux系统调用--fcntl函数详解