kohana 3.0 изменить размер изображения перед загрузкой? - PullRequest
0 голосов
/ 26 апреля 2011

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

Теперь я делаю простую загрузку и сохраняю вот так:

$header_image = Upload::save($_FILES['sale_picture_header'],NULL,APPPATH.'media'.'/');
$image_header = Model::factory('image');                                
$image_header->name = basename($header_image);
$image_header->save();

(без проверки).

Как я могу обрезать или изменить размер изображения до желаемых размеров в Kohana 3.0?Я не смог найти соответствующую документацию по этому поводу.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 26 апреля 2011

Вы пробовали с пакетом изображений:

// Resize to 200 pixels on the shortest side
$image->resize(200, 200);

// Resize to 200x200 pixels, keeping aspect ratio
$image->resize(200, 200, Image::INVERSE);

// Resize to 500 pixel width, keeping aspect ratio
$image->resize(500, NULL);

// Resize to 500 pixel height, keeping aspect ratio
$image->resize(NULL, 500);

// Resize to 200x500 pixels, ignoring aspect ratio
$image->resize(200, 500, Image::NONE);

Источник: http://kohanaframework.org/3.0/guide/api/Image#resize

0 голосов
/ 24 ноября 2012

Я нашел что-то очень интересное. Вопрос заключался в том, как выполнить это действие, «изменить размер, а затем обрезать» изображение, чтобы оно идеально подходило для определенной рамки, и вот решение:

Image::factory($file)
    ->resize(128, 149, Image::PRECISE)
    ->crop(128, 149)
    ->save(DOCROOT.$filename);

Обратите внимание, что вы должны использовать Image :: PRECISE вместо IMAGE :: AUTO.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 26 апреля 2011

Вы можете использовать библиотеку ImageMagick или библиотеку GD для работы с изображениями.

Также обратите внимание, что они строго на стороне сервера и не произойдут до загрузки. Для этого вам понадобится плагин на стороне клиента, способный манипулировать изображениями, такой как Flash или Java.

...