Изменить размер изображения, а затем обрезать его с Codigniter

Привет я использую класс манипуляции изображения Codigniter для создания миниатюры с фиксированным размером
Поэтому я не буду сначала изменять его размер (поэтому, когда я обрезаю его, я получаю большой мир изображения)
А потом обрезать его
Изменение размера работает, но урожай не

Вот функция, которую я создал

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();
}

1

Решение

Есть некоторые ограничения использования Codeigniter image_lib библиотека. Ты не можешь сделать "resize and crop" за один раз с этой библиотекой.

Вам придется заново активировать 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();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]