сделать 2 эскиза одновременно в codeigniter - PullRequest
3 голосов
/ 03 мая 2010

Может кто-нибудь сказать мне, как создать 2 разных эскиза одинаковых изображений с разными размерами и местоположением в codeigniter. Я создал функцию загрузки и другую функцию генерации миниатюр, она отлично работает, но не могу разобраться, как создать 2 разных миниатюра одновременно. любая помощь будет оценена.

Ответы [ 3 ]

12 голосов
/ 13 мая 2010

Это на самом деле довольно легко ...

function create_thumbs()
{
    $this->load->library('image_lib');

    $path = "path/to/image/";

    $source_image = "original.jpg";
    $medium_image = "medium.jpg";
    $small_image = "small.jpg";

    // Resize to medium

    $config['source_image'] = $path.$source_image;
    $config['new_image'] = $path.$medium_image;
    $config['width'] = 200;
    $config['height'] = 200;

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

    if ( ! $this->image_lib->resize())
    {
        // an error occured
    }

    // Keep the same source image

    $config['new_image'] = $path.$small_image;
    $config['width'] = 50;
    $config['height'] = 50;

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

    if ( ! $this->image_lib->resize())
    {
        // an error occured
    }
}
4 голосов
/ 03 мая 2010

Итак, у вас есть функция thumbnail_generator, и, скажем, она принимает параметры original_file_name, new_file_name и thumbnail_size.

Просто позвони дважды!

thumbnail_generator( original_file.jpg, new_file_sm.jpg, 300 );
thumbnail_generator( original_file.jpg, new_file_xsm.jpg, 150 );
0 голосов
/ 24 апреля 2012

Просто небольшая модификация в ответе выше. Добавьте это в начале вашей функции

$this->load->library('image_lib');
$this->image_lib->clear();

предыдущий конфиг должен быть очищен

...