今日は、すばらしいIMagickの機能を実証し、アニメーション化された3D gif画像を簡単に取得する方法を示します。 これは、たとえば、携帯電話を販売している店舗で、Flashを使用せずに3Dで顧客に見せたい場合に便利です。
かつて、JSギャラリーを開発していたとき、PHPを使用して(プレビュー用に)遠近法で画像を回転させる必要がありました。 これに気づいた私はこの投稿を読みましたが、回転が「収集」される画像を「手動で」作成する必要があることに気が動転しました。 そして、私はこのビジネスを自動化することにしました 。ソリューションはこちらから入手できます 。 デモも利用できます。
機能:
- 回転のgif画像を生成し、指定されたディレクトリに「ストーリーボード」を保存します
- 生成されたGIF画像の幅、高さ、および背景色の設定
- 回転制御
- 1秒あたりのフレーム数の設定
使用法:
例がありますが、ダウンロードしたアーカイブには表示しますが、簡単な使用例を示します。
ダウンロードしたクラスを接続します:
include_once( 'nxcimage3drotation.php' );
結果として取得されるGIFの幅、高さ、および背景色を指定して、nxcImage3DRotationクラスのインスタンスを作成します
$rotation = new nxcImage3DRotation( 150, 220, 'rgb(220, 110, 170)' );
実際に、以下を指定して回転のGIFイメージを作成します。
- 前面、背面、左右の画像
- 1秒あたりのフレーム数
- 回転時間(秒単位)
- ストーリーボードが保存されるディレクトリ
$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();
PS: 4つの電話画像(角の丸い)からアニメーション3D GIFを作成するphpクラスを作成することは、このトピックの真の目的ではありません。 その中で、ImageMagickの力と魔法を示したいと思います。 さらに、現在のソリューションがライブプロジェクトに適用されたことはありませんが、Just4Funは書かれていることに注意してください:)