2011-07-07 109 views
1

我在Codeigniter中使用图像库来调整图像大小。我注意到CI只调整图像大小以适应指定的尺寸:将调整大小为50像素的50像素图像调整为适合30像素×20像素的框将调整大小为20像素20像素,并为空白区留下黑色区域。完全调整图像以适合尺寸(Codeigniter)

我想调整大小,使调整大小的图像填充整个30像素30px的空间与超出部分被裁剪出来。

在Codeigniter中这可能吗?

回答

1

我想你需要先调整图像的大小,选择宽度或高度作为“主”尺寸,然后裁剪。

我还没有测试过这个代码,但给它一个镜头。如果没有别的,它应该给你的想法。

$config['source_image'] = '/path/to/image/mypic.jpg'; 

$config['width'] = 30; 
$config['height'] = 0; // No restraint on height 
$this->load->library('image_lib', $config); 
$this->image_lib->resize(); 

$config['x_axis'] = 30; // Same width as before 
$config['y_axis'] = 20; // Crop to height 
$this->image_lib->initialize($config); 
$this->image_lib->crop(); 

您可能想尝试将裁切尺寸居中。无论您选择做什么,图像都需要在某个时候裁剪。

我要指出,我不知道如果$config['height'] = 0是忽略高度的正确方法,它可能是FALSE,一个真正的高数,或者完全删除(有没有在与CI形象的lib工作而)。