使用Codeigniter调整图像大小

问题描述:

嘿:)我想调整图像的大小时,我将其放在表单中(保存到数据库)。我不认为这会是一个问题[指向图像等,但是我要去显示拇指的空间是228 x 228。我知道我可以保持比例并确定控制器的大小,但它是如何完成的在经常不同大小的图像上?使用Codeigniter调整图像大小

解决此问题的最佳方法是将预先计算的值(使自己的比率)放在我的表单中,以便控制器可以使用这些值来确定最大高度和宽度?看代码。

$config['image_library'] = 'gd2'; 
$config['source_image'] = '/path/to/image/mypic.jpg'; 
$config['create_thumb'] = TRUE; 
$config['maintain_ratio'] = TRUE; 
$config['width']  = 75; // use $this->input->post('width') instead?? 
$config['height'] = 50; // use $this->input->post('height') 

或者有没有办法告诉函数不大于228且不超过228?

感谢

我不确定你想要什么,但通过使用以下设置,你可以确保图像的宽度或高度是228px。如果宽度>高度,宽度将是228px。反之亦然。

$config['maintain_ratio'] = TRUE; 
$config['master_dim'] = 'auto' // auto is default, so you can leave this out 
$config['width'] = 228; 
$config['height'] = 228; 

master_dim

指定作为主 轴调整或创建拇指时使用的东西。 例如,假设您想将 调整为100 x 75像素的图像大小。如果 源图像大小不允许 对这些尺寸完美调整大小,则此设置确定应将哪个轴 用作硬值。 “自动”根据图像是否更高,然后更宽,或者反之亦然,自动设置轴 。

如果这不是你的意思,请多加一点解释。

+0

我认为那正是我想要的。只要宽度和高度没有设置为“必须是228 x 228”的尺寸,我会看到你在说什么,我相信它会起作用,谢谢你 – Brad 2010-10-18 02:29:32

getImageSize()

我想你不得不放弃一些逻辑控制器来处理这个问题。使用上述功能,您可以测试上传图像的高度/宽度,并根据需要调整大小。

+0

据我所知,大部分图像会大得多。我想你是在说测试正确的比例? – Brad 2010-10-18 02:30:34