Приветствую тебя, %username.
Сегодня я хочу продемонстрировать возможности замечательного IMagick, и показать как с легкостью можно получить анимированное 3D gif изображение. Это может пригодиться, например в магазинах, которые продают мобильные телефоны, и хотят продемонстрировать покупателям телефон в 3D, без использования Flash.
В свое время, разрабатывая JS галерею, мне нужно было поворачивать изображений в перспективе (для превьюшек), средствами PHP. Реализовав это, я прочел пост но меня расстроило, что нужно «вручную» создавать изображения, с которых будет «собираться» вращение. И я решил автоматизировать это дело, решение доступно по ссылке. Так же доступна демка.
Не смотря на наличие примеров, в скачиваемом архиве покажу, приведу простенький пример использования:
Подключаем скачанный класс:
Создаем экземпляр класса nxcImage3DRotation, указав ширину, высоту и цвет фона GIF, который будет получен в результате
Собственно, создаем GIF изображение вращения, указав:
Выводим изображение
P.S.: Написание php класса, который строит из 4ех изображений телефона (с закругленными углами) анимированный 3D gif, не есть истинной целью данного топика. В нем я хочу показать, могущество и волшебство ImageMagick. Кроме того, хочу заметить, что текущее решение еще никогда не применялось на живом проекте, а написано Just4Fun :)
Сегодня я хочу продемонстрировать возможности замечательного IMagick, и показать как с легкостью можно получить анимированное 3D gif изображение. Это может пригодиться, например в магазинах, которые продают мобильные телефоны, и хотят продемонстрировать покупателям телефон в 3D, без использования Flash.
В свое время, разрабатывая JS галерею, мне нужно было поворачивать изображений в перспективе (для превьюшек), средствами PHP. Реализовав это, я прочел пост но меня расстроило, что нужно «вручную» создавать изображения, с которых будет «собираться» вращение. И я решил автоматизировать это дело, решение доступно по ссылке. Так же доступна демка.
Возможности:
- Генерация gif изображения вращения, и сохранение «раскадровки» в указанную директорию
- Задание ширины, высоты и цвет фона генерируемого GIF изображения
- Управление продолжительностью вращения
- Задание количества кадров в секунду
Использование:
Не смотря на наличие примеров, в скачиваемом архиве покажу, приведу простенький пример использования:
Подключаем скачанный класс:
include_once( 'nxcimage3drotation.php' );
Создаем экземпляр класса nxcImage3DRotation, указав ширину, высоту и цвет фона GIF, который будет получен в результате
$rotation = new nxcImage3DRotation( 150, 220, 'rgb(220, 110, 170)' );
Собственно, создаем GIF изображение вращения, указав:
- переднее, заднее, левое и правое изображения
- количество кадров в секунду
- продолжительность вращения (в секундах)
- директорию, в которой будет сохранена раскадровка
$animation = $rotation->getRotationAnimation(
array(
'front' => 'images/iphone4g/front.jpg',
'back' => 'images/iphone4g/back.jpg',
'left' => 'images/iphone4g/left.jpg',
'right' => 'images/iphone4g/right.jpg'
),
20,
4,
'output_images/iphone4g'
);
Выводим изображение
header( 'Content-Type: image/gif' );
echo $animation->getImagesBlob();
P.S.: Написание php класса, который строит из 4ех изображений телефона (с закругленными углами) анимированный 3D gif, не есть истинной целью данного топика. В нем я хочу показать, могущество и волшебство ImageMagick. Кроме того, хочу заметить, что текущее решение еще никогда не применялось на живом проекте, а написано Just4Fun :)