图片比例转换算法
来源:互联网 发布:c2c商城源码 编辑:程序博客网 时间:2024/04/30 00:32
项目要求将图片上传的任意图片按固定比例进行转换,没办法自己就写了一个,代码如下:
public function cropImage($imagePath, $savePath, $scale){ $imgHandler = $this->model('Picture_Model_Image'); $imgHandler->setSrcImg($imagePath); $imgHandler->setCutType(2);//指明为手工裁切 list($scaleW, $scaleH) = explode(':', $scale); $imgH = $imgHandler->src_h; $imgW = $imgHandler->src_w; if(($imgW / $scaleW * $scaleH) < $imgH){ $cropH = ($imgW / $scaleW * $scaleH); $cropW = $imgW; }else{ $cropW = $imgH / $scaleH * $scaleW; $cropH = $imgH; } $cropInitX = ($imgW - $cropW) / 2; $cropInitY = ($imgH - $cropH) / 2; $imgHandler->setSrcCutPosition($cropInitX, $cropInitY);// 源图起点坐标 $imgHandler->setRectangleCut($cropW, $cropH);// 裁切尺寸 $imgHandler->setDstImg($savePath); return $imgHandler->createImg($cropW, $cropH); }
大概思路是这样的:
cropW 和 <span style="font-family: Arial, Helvetica, sans-serif;">cropH 是需要裁剪的图片的大小,</span><pre name="code" class="php">cropInitX 和 <span style="font-family: Arial, Helvetica, sans-serif;">cropInitY 是裁剪的初始位置,默认是取最中间的位置</span>
<span style="font-family: Arial, Helvetica, sans-serif;">首先是根据图片的宽, 按照比例算出 高按照比例的尺寸 ,如果算出的高, 比图片的高大, 那么就</span><pre name="code" class="php"><span style="font-family: Arial, Helvetica, sans-serif;">图片的高, 按照比例算出 宽按照比例的尺寸。得到尺寸后, (用原图的宽/裁剪后的宽)/2 就可以得到裁剪的X坐标,依次类推。 </span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span>
0 0
- 图片比例转换算法
- 图片等比例缩放算法
- 图片等比例缩放算法
- 比例转换
- 成比例缩放图片
- 图片等比例截取
- //等比例缩小图片
- 安比例缩放图片
- 图片等比例缩小
- 图片等比例自适应
- 图片等比例缩放
- 图片等比例缩放
- 等比例压缩图片
- 图片等比例截取
- JS等比例图片
- 图片等比例缩放
- 图片等比例缩放
- 图片等比例缩放
- The following classes could not be found: - android.support.v7.internal.app.WindowDecorActionBar
- Xcode6中去掉默认的Main.storyboard
- 驱动模块加载错误:insmod: can't insert 'xx.ko': invalid module format
- Educational Codeforces Round 5(C)(DFS+hash)
- 自定义控件(一) EditText自定义
- 图片比例转换算法
- 1.4线程暂停
- archlinux简略安装使用syslinux引导
- Unity3D游戏开发之如何发布Android游戏
- graphlab
- android5.1 编译命令
- 旋转矩阵、欧拉角、四元数比较
- 2016-01-12 FFC
- js打印---我传给肖方username和userpassword,他在后端处理完成,返回给我。