В Joomla 3 появились небольшие изменения класса JImage
У класса появилось несколько новых методов для работы с изображениями, и в этой статье я постараюсь их описать!
Перед прочтением этой статьи рекомендуется ознакомиться с классом Jimage который я уже описывал у себя в блоге тут!
Пример:
$image = new JImage( JPATH_SITE . '/test.jpg' ); $image->cropResize( 200, 300, false ); $image->toFile( JPATH_SITE . '/result.jpg' );
Следующий метод который появился:
createThumbs($thumbSizes, $creationMethod = self::SCALE_INSIDE, $thumbsFolder = null)
Этот метод позволит нам создать группу миниатюр из нашего изображения.
Основные параметры которые принимает этот метод:
- $thumbSizes - массив в котором передаются размеры миниатюр
- $creationMethod - каким методом масштабировать фотографии
- $thumbsFolder - папка в которой будут сохранены миниатюры (по умолчанию это /thumbs)
К дополнению к стандартным вариантам масштабирования: SCALE_FILL, SCALE_INSIDE и SCALE_OUTSIDE в этом методе можно использовать еще два варианта:
CROP - обрежет изображение по указанным размерам
CROP_RESIZE - работает та же как и метод cropResize
Пример работы данного метода:
$image = new JImage( JPATH_SITE . '/test.jpg' ); $thumbs = $image->createThumbs( array( '200x200', '100x100' ), JImage::CROP_RESIZE,JPATH_SITE . '/images/thumbs' );
После выполнения этого кода в папке /images/thumbs у нас появится два изображения:
![]() |
![]() |
Метод createThumbs после выполнения вернет массив объектов JImage которыми можно дальше манипулировать как одиночными файлами:
Array ( [0] => JImage Object ( [handle:protected] => Resource id #132 [path:protected] => /thumbs/test_200x200.jpg ) [1] => JImage Object ( [handle:protected] => Resource id #134 [path:protected] => /thumbs/test_100x100.jpg ) )
И последний метод generateThumbs($thumbSizes, $creationMethod = self::SCALE_INSIDE)
Этот метод работает как и метод createThumbs только не сохраняет сразу миниатюры, а возвращает массив объектов которые мы можем видоизменять как нам захочется с помощью класса JImage!
Принимает этот метод всего два параметра и они совпадают с первыми двумя параметрами которые принимает метод createThumbs
Внимание! При указании размеров миниатюр для методов createThumbs и generateThumbs указывайте их от большего размера к меньшему!