imagecrop.php
Что умеет?
1. Ресайз обычный с полями
2. Ресайз по ширине
3. Ресайз по высоте
4. Перевернуть
5. Crop
6. Управление качеством сжатия
7. Управление цветом подложки
Как использовать?
Вставляем модель, типа
$this->load->model('tool/imagecrop');
Потом вызываем метод resize, например:
1. Уменьшене по ширине с сохранением пропорции
$this->model_tool_imagecrop->resize(
$product_info['image'], // путь к картинке от папки с картинками
100, // ширина миниатюры
0 // высота будет расчитана автоматически с сохранением пропорции
);
2. Crop и переворот на 90 градусов
$this->model_tool_imagecrop->resize(
$product_info['image'], // путь к картинке от папки с картинками
500, // ширина миниатюры
500, // высота миниатюры
'0x000000', // фон подложки черный
100, // качество 100%
true, // блять, не помню зачем я это сделал. как-то связано с позиционированием относительно полей
90, // первернуть на 90 градусов
array('x1' => 10, 'x2' => 150, 'y1' => 10, 'y2' => 150) // координаты для crop относительно оригинального изображения
);
P.S. Обратите внимание, что resize можно использовать не только для уменьшения, но и для увеличения ;)