作者liaosankai (低温烘焙)
看板PHP
标题Re: [请益] CI的缩图
时间Thu Mar 8 10:56:40 2012
※ 引述《rocairforce (拾贰)》之铭言:
: PHP 5.X
: CI 2.1.0
: 我为了要让缩图方便点,写了个helper
: function my_manipulation($data=array()){
: $CI =& get_instance();
: $img_resize_config['image_library'] = 'gd2';
: $img_resize_config['maintain_ratio'] = TRUE;
: $img_resize_config['source_image'] = $data['source_image'];
: $img_resize_config['new_image'] = $data['new_image'];
: $img_resize_config['width'] = $data['width'];
: $img_resize_config['height'] = $data['height'];
: $CI->load->library('image_lib',$img_resize_config);
: $CI->image_lib->resize();
: }
: 可以很顺利的缩图没错,不过都只能缩一次,假设我要做三种不同大小的缩图
: 分别是 500*500、300*300、100*100
: 可是只有第一个会顺利缩图,其它都没反应,我试着在每次都echo个东西出来,
: 确定是有再跑的,不过结果还是一样,$CI->image_lib->clear();也用过了。
: 有谁能帮帮我吗???
: THX
把这一段:
$CI->load->library('image_lib',$img_resize_config);
$CI->image_lib->resize();
改成:
$CI->load->library("image_lib");
$CI->load->initialize($img_resize_config);
$CI->image_lib->resize();
$CI->image_lib->clear();
原因:
image_lib在第一次load之後,就不会重复再做load的动作了
所以你原本的写法,只会做第一次,後面就不会再执行了
题外话:
CI的image_lib的rotate()没办法直接传任意角度
CI的image_lib的image_mirror_gd()的作法效能很差
--
欢迎来我的网志看看
@
http://liaosankai.pixnet.net/blog
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.28.55
※ 编辑: liaosankai 来自: 118.170.28.55 (03/08 10:57)
※ 编辑: liaosankai 来自: 118.170.28.55 (03/08 10:58)
1F:推 kusoayan:推 学到新东西 03/08 15:51
2F:推 rocairforce:是低温烘培耶,太神威了,请受我一拜 03/08 23:38
4F:推 rocairforce:发现还是不行,应该是我的问题吧,稍微修改了一下 03/11 10:20
5F:→ rocairforce:$CI->load->initialize(); 03/11 10:20
6F:→ rocairforce:$CI->load->library('image_lib',$img_resize_config) 03/11 10:21
7F:→ rocairforce:加上第一行是暂时解决了,有空再来研究 03/11 10:21
8F:推 hsinyu716:请问原始图大小是不是有限制?我也正好在缩图 但原始图 11/10 13:21
9F:→ hsinyu716:大小3648 * 2736 3m多 颇大的=-= 是不是无法呢? 感谢 11/10 13:22