一副1024*768大小的图片,裁剪到240*240大小,裁剪后不失真,尽可能保留图片主题含义。

我使用到的方法:

1. 先将图片等比例缩略到可以裁剪的大小;

如果是宽幅图片,则按高度等比例缩放到高度 = 240px,窄幅图片(高度大于宽度)则按宽度等比例缩放;

2. 按长宽格式居中裁剪;

保留缩略后的图片中间部分;

$this->load->library('image_lib');

list($width, $height) = getimagesize("upload/123.jpg");

$config['image_library'] = 'gd2';

$config['source_image'] = 'upload/123.jpg';

$config['maintain_ratio'] = TRUE;

if($width >= $height)

{

$config['master_dim'] = 'height';

}else{

$config['master_dim'] = 'width';

}

$config['width'] = 240;

$config['height'] = 240;

$this->image_lib->initialize($config);

$this->image_lib->resize();

$config['maintain_ratio'] = FALSE;

if($width >= $height)

{

$config['x_axis'] = floor(($width * 240 / $height - 240)/2);

}else{

$config['y_axis'] = floor(($height * 240 / $width - 240)/2);

}

$this->image_lib->initialize($config);

$this->image_lib->crop();

php ci 处理图片 裁剪,Codeigniter实现智能裁剪图片的方法相关推荐

  1. php智能裁剪,php Codeigniter实现智能裁剪图片的方法

    CodeIgniter是一套给PHP网站开发者使用的应用程序开发框架和工具包. CodeIgniter 是一个简单快速的PHP MVC框架.EllisLab 的工作人员发布了 CodeIgniter. ...

  2. php ci 处理图片 裁剪,jquery.form + Jcrop + CI框架实现图片裁剪上传

    功能: 1.通过jquery.form上传图片,并按一定比例显示预览图. 2.通过Jcrop裁剪图片,并显示裁剪预览图 3.通过CI的图像处理类保存剪切后图片 问题: 1.通过jquery.form来 ...

  3. iOS客户端图片智能裁剪

    概述 所谓智能裁剪其实就是按照指定尺寸裁剪或显示出包含图片核心特征的区域,目前很多智能裁剪都是在服务器端做的,在客户端需要访问时直接裁剪放到Redis或者提前裁剪好以备访问.但是找了一圈直接在iOS客 ...

  4. 搭建自己的图片处理服务 — 智能裁剪、旋转、占位一站搞定

    前言 前两天刚搭建了自己的博客,并写了一篇介绍性的文章:<极简博客搭建,搭建超级简单又好看>,这几天准备写点文章体验一下这款博客.发现不论是撰写文章还是展示效果,都非常符合我的品味,真是太 ...

  5. 如何裁剪音频文件?裁剪音频的方法有什么?

    通常我们在剪辑视频时,为了让视频更加有感染力,我们会加上各种各样的音频丰富视频的内容,而且在选取音频时,一般都是会采用它的高潮部分.那么如何裁剪音频文件来达到想要的效果呢?裁剪音频的方法又有什么?接下 ...

  6. 使用JCrop进行图片裁剪,裁剪js说明,裁剪预览,裁剪上传,裁剪设计的图片处理的工具类和代码

     1.要想制作图片裁剪功能,可以使用网上的裁剪工具JCrop,网址是:https://github.com/tapmodo/Jcrop/ 案例效果如下: 2.引入JCrop的js代码,具体要引入那 ...

  7. php一篇文零基础到制作在线图片编辑网站赚钱(gif压缩、九宫格裁剪、等比裁剪、大小变换)【php华为云实战】

    注意本篇文适用于: 零基础小白想要了解一下php开发或者网站开发的同学(但是注意,零基础你可以通过本篇完成,但是由于是速成会有一些难度,本篇内容由于是速成,有一些额外知识点,不会可以来问我1_bit) ...

  8. PDF裁剪页面及调整页面大小的方法

    PDF文件相信大家现在都不陌生,现在在日常的学习和工作中都使用的是PDF文件,上次有小伙伴来询问小编PDF怎么调整页面和裁剪页面的方法,今天小编就来跟大家都来分享一下吧.有需要的小伙伴都可以看看哦. ...

  9. PDF如何裁剪页面,PDF裁剪页面的方法

    一个PDF文件的页面有很多的内容,有时候有些内容我们不一定会用到,这个时候就需要裁剪页面了,大家都使用过PDF文件了,那么编辑PDF文件呢,今天小编就来跟大家都来分享一下PDF裁剪页面的方法.有需要的 ...

最新文章

  1. .NET 不规则、可改变大小、边框半透明窗体设计
  2. OkHttp 源码解析---拦截器
  3. 用ORACHK自己主动化检查数据库系统的健壮性
  4. 对python编程做介绍-python002-编程语言介绍
  5. ListView的使用用ViewHolder提升效率
  6. linux 下zip文件的压缩和解压
  7. 顺便抹了下眼眶的飞鸽传书官方网站
  8. SpringCloud学习笔记003---服务提供者和服务消费者
  9. JavaScript:gb2312转unicode -- 形式
  10. url地址中 /等符号的转义处理(转)
  11. AS3的事件模型 .
  12. MyBatis #{ } ${ }
  13. 服务器迁入虚拟主机的好处,服务器迁入虚拟主机的好处
  14. 怎么用C语言求解线性规划,线性规划习题详细解析,包括线性规划方程求解步骤...
  15. SSH 与 SFTP
  16. 在android移动终端运行android应用程序
  17. 3ds Max小白入门小案例|旋转楼梯
  18. Vuex仿饿了么购物车功能
  19. wps 字体对系统无效_linux版WPS系统缺失字体的解决办法
  20. 「MoreThanJava」计算机发展史—从织布机到IBM

热门文章

  1. vb 如何检测打印机是否联机_打印机提示该文档未能打印导致打印失败的原因及解决方法...
  2. 装完黑苹果怎么装windows_BlackArch(黑Arch)、怎么装?
  3. dev c++运行没有结果_「C/C++」一行注释也能影响运行结果?
  4. import caffe失败 No module named caffe
  5. C++中transform的用法
  6. SQLI_LAB——Less7~15
  7. day28:检测磁盘io|自定义时段查看tomcat 日记|打印城市名字|代码上线|统计网站并发量...
  8. python requests post提交数据报错
  9. Kafka集成Spring-AcknowledgeMessageListener接口实现
  10. 线性时间排序--桶排