Php 调整图像大小,然后使用Codigniter进行裁剪
嗨,我正在使用Codigniter图像处理类来创建具有固定大小的缩略图 因此,我不会首先调整它的大小(因此,当我裁剪它时,我会得到一个大的图像和平) 然后修剪它 调整大小有效,但裁剪无效 这是我创建的函数Php 调整图像大小,然后使用Codigniter进行裁剪,php,codeigniter-3,gd2,Php,Codeigniter 3,Gd2,嗨,我正在使用Codigniter图像处理类来创建具有固定大小的缩略图 因此,我不会首先调整它的大小(因此,当我裁剪它时,我会得到一个大的图像和平) 然后修剪它 调整大小有效,但裁剪无效 这是我创建的函数 function _generate_thumbnail($filename) { $config['image_library'] = 'gd2'; $config['source_image'] = './project_pics/big/'.$filename; $co
function _generate_thumbnail($filename)
{
$config['image_library'] = 'gd2';
$config['source_image'] = './project_pics/big/'.$filename;
$config['new_image'] = './project_pics/resize/'.$filename;
$config['maintain_ratio'] = TRUE;
$config['width'] = 650;
$this->load->library('image_lib');
$this->image_lib->initialize($config);
$this->image_lib->resize();
$this->image_lib->clear();
$config['image_library'] = 'gd2';
$config['source_image'] = './project_pics/resize/'.$filename;
$config['new_image'] = './project_pics/crop/'.$filename;
$config['width'] = 650;
$config['height'] = 450;
$config['x_axis'] = 0;
$config['y_axis'] = 0;
$this->load->library('image_lib');
$this->image_lib->initialize($config);
$this->image_lib->crop();
}
使用Codeigniter的
image_lib
库有一些限制。使用此库时,不能一次完成“调整大小并裁剪”
您必须在每个操作之间重新初始化image_lib
,如下所示:
function _generate_thumbnail($filename)
{
$config1 = $config2 = array();
$config1['image_library'] = 'gd2';
$config1['source_image'] = './project_pics/big/'.$filename;
$config1['new_image'] = './project_pics/resize/'.$filename;
$config1['maintain_ratio'] = TRUE;
$config1['width'] = 650;
$this->load->library('image_lib');
$this->image_lib->initialize($config1);
$this->image_lib->resize();
$this->image_lib->clear();
$config2['image_library'] = 'gd2';
$config2['source_image'] = './project_pics/resize/'.$filename;
$config2['new_image'] = './project_pics/crop/'.$filename;
$config2['width'] = 650;
$config2['height'] = 450;
$config2['x_axis'] = 0;
$config2['y_axis'] = 0;
$this->image_lib->initialize($config2);
$this->image_lib->crop();
}
这对我有用