codeigniter: как изменить размер после обрезки - PullRequest
1 голос
/ 27 июля 2011

Итак, я обрезаю изображение, которое я загружаю, используя следующий код (успешно):

    $file_name = $this->input->post('file_name');
    $x1 = $this->input->post('x1');
    $y1 = $this->input->post('y1');
    $x2 = $this->input->post('x2');
    $y2 = $this->input->post('y2');

    //die('width: '.$width.' height: '.$height.' id: '.$id.' file_name: '.$file_name.' x1: '.$x1.' x2: '.$x2.' y1: '.$y1.' y2: '.$y2.' w: '.$w.' h: '.$h);

    $config['image_library'] = 'gd2';
    $config['source_image']    = './images/uploads/temp/'.$file_name;
    $config['maintain_ratio'] = FALSE;
    $config['width'] = $y2;
    $config['height'] = $y2;
    $config['x_axis'] = $x1;
    $config['y_axis'] = $y1;
    $this->image_lib->initialize($config); 

И на этом этапе я хочу изменить размер изображения, так как я только что получил выбор и соотношениеЯ хочу и не уверен, как это сделать.Вот то, что я предположил, будет работать сразу же после того же метода:

    $config['width'] = 180;
    $config['height'] = 180;
    $this->load->library('image_lib', $config); 
    $this->image_lib->resize();

    if ( ! $this->image_lib->resize() )
    {
        die( $this->image_lib->display_errors() ); //
    } 

Это не дает никаких ошибок или чего-либо еще, просто не изменяет размер изображения.Не могли бы вы помочь мне выяснить, что происходит?

1 Ответ

2 голосов
/ 27 июля 2011

Как будто во второй раз, когда вы загружаете библиотеку (таким образом, инициализируете ее снова), она не получает все необходимые ей параметры. Используете ли вы код в том же методе или в другом? В любом случае, если в том же методе в качестве теста попробуйте удвоить некоторые конфиги после их очистки:

//
//CROPPING HERE....Then:
//

$this->image_lib->clear();

$config['image_library'] = 'gd2';
$config['source_image']    = './images/uploads/temp/'.$file_name;
$config['maintain_ratio'] = TRUE;
$config['width'] = 180;
$config['height'] = 180;

$this->image_lib->initialize($config);

if ( ! $this->image_lib->resize())
{
    echo $this->image_lib->display_errors();
}

И убедитесь, что у вас есть папка и файлы с правильными разрешениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...