PHP剪切图片(任意长宽)
来源:互联网 发布:淘宝店铺不能发布宝贝 编辑:程序博客网 时间:2024/06/11 21:14
仅附上关键代码,修改了Image.php中的cut方法,供各位参考
/** * 切割图片 +---------------------------------------------------------- * @static * @access public * @edit by yangjs 20150721 +---------------------------------------------------------- * @param string $image 原图 * @param string $cutfile 切割后的图片 * @param int $cutWidth 要截取的宽度 * @param int $cutHeight 要截取的高度 +---------------------------------------------------------- * @return void */ static function cut($image,$cutfile,$cutWidth='',$cutHeight=''){ $cutHeight = intval($cutHeight); $cutWidth = intval($cutWidth); $info = Image::getImageInfo($image); if($info){ if(empty($cutHeight) && empty($cutWidth)){ //将原图拷贝一份 copy($image,$cutfile); return true; } $srcWidth = $info['width']; //原始宽 $srcHeight = $info['height']; //原始高 $ext = $info['type']; //原始宽高比 $oWHP = $srcWidth/$srcHeight; //要截取的图的宽高比 $cWHP = $cutWidth/$cutHeight; //获取缩放比例 if($oWHP > $cWHP){ //以为高为基准缩放 $sp = $cutHeight/$srcHeight; }else{ //以宽为基准缩放 $sp = $cutWidth/$srcWidth; } $_s_x = ($srcWidth - $cutWidth/$sp) / 2 ; $_s_y = ($srcHeight - $cutHeight/$sp) / 2; $func = ($ext != 'jpg' && $ext !='jpeg') ? 'imagecreatefrom' . $ext : 'imagecreatefromjpeg'; $img_r = call_user_func($func,$image); $dst_r = ImageCreateTrueColor( $cutWidth, $cutHeight ); $back = ImageColorAllocate( $dst_r, 255, 255, 255 ); //将dst_r着色 ImageFilledRectangle( $dst_r, 0, 0, $cutWidth, $cutHeight, $back ); ImageCopyResampled( $dst_r, $img_r, 0, 0, $_s_x,$_s_y, $srcWidth*$sp, $srcHeight*$sp, $srcWidth, $srcHeight ); ImagePNG($dst_r, $cutfile); imagedestroy($dst_r); imagedestroy($img_r); }else{ return false; } }
0 0
- PHP剪切图片(任意长宽)
- php 图片剪切
- 调用系统剪切方法,剪切任意比例图片
- PHP 图片上传及 剪切 代码
- Quartz2D使用(图片剪切)
- Quartz2D(6)剪切图片
- 图片剪切
- 图片剪切
- 图片剪切
- 图片剪切
- 剪切众家之长
- 图片工具类(图片上传、压缩、旋转、剪切)
- 图片剪切 vb.net
- CSS剪切图片
- javascript图片剪切效果
- 仿美图秀秀的图片剪切
- java剪切图片
- android 剪切图片
- 欢迎使用CSDN-markdown编辑器
- Sublime text 3 中文文件名显示方框怎么解决?
- Git常用命令
- NSIS 附加快捷方式到开始菜单、桌面、任务栏
- Cordova 10 VS2013配置cordova开发环境
- PHP剪切图片(任意长宽)
- python 批量重命名
- J2EE及EJB的介绍
- 关于CURL获取网页,返回的网页内容大小一直变化的原因
- 解决国内使用NPM/GEM下载速度缓慢问题
- Netra基于Rdk平台的软件框架设计
- Aggregation聚合函数--grouping,grouping_id,grouping set,cube,rollup
- Git 使用规范流程
- WebStorm 10.0.4 安装在window 10下,Terminal无法输入的问题