使用Codeigniter调整图像大小

时间:2010-10-17 19:27:45

标签: php codeigniter image-processing

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

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

$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?

谢谢

2 个答案:

答案 0 :(得分:1)

getImageSize()

我认为你必须在你的控制器中抛出一些逻辑来处理这个问题。使用上述功能,您可以测试上传图像的高度/宽度,并在必要时调整大小。

答案 1 :(得分:1)

我不确定您想要什么,但通过使用以下设置,您可以确保图像的宽度或高度为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像素。如果   源图像大小不允许   完美地调整这些尺寸,   此设置确定哪个轴   应该用作硬值。   “auto”自动设置轴   根据图像是否更高   然后更宽,反之亦然。

如果这不是您的意思,请添加更多解释。