Pull to refresh

Вращение объектов в 3D

Reading time2 min
Views5K
Приветствую тебя, %username.
image



Сегодня я хочу продемонстрировать возможности замечательного 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 :)
Tags:
Hubs:
+56
Comments37

Articles

Change theme settings