アニメーションGif同士をサーバー上で動的に生成する方法を知りたい。

.
透過を含むアニメーションGif同士を2つ以上合成する方法を探しています。
アバターと背景などをプログラムから合成したいと思っています。
サーバーはlinux系です。
imagemagickやgdは知っていますが、簡単にはできないですよね?
具体的な方法を示していただけると助かります。
.
フリー、商用ソフトウエアでも結構です。
.
他)ASPの紹介でも結構ですが、アニメgif+アニメgifが可能なものを紹介して下さい。
他)windowsサーバーなど他の環境で簡単にできるという事があれば、具体的に教えて下さい。
他)俺そのプログラム作れますという人もどうぞ。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/12/02 01:15:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:goodvn No.1

回答回数228ベストアンサー獲得回数18

ポイント60pt

どの程度を簡単とされるかわかりませんが,私は ImageMagick で簡単に合成できると思います

まず,アニメーションGIF には各コマの画像データと,各コマの表示時間の情報,再生を繰り返すか否か,といった情報が入っています

2つ以上の画像を合成するとなると,例えば,各コマの表示時間を無視してもいいのか,ループ情報を無視してもいいのか,という仕様がわからないと,どうやって合成すればいいのかが決められません

もし,各コマの表示時間を無視して,単純に1コマ毎に合成するだけであれば,ImageMagick を使い,コマ単位に分割,各コマ同士を合成,合成したファイルからアニメーションGIF を生成,という手順で作成できます

% convert +adjoin haikie_anime.gif haikei.gif
% convert +adjoin jinbutsu_anime.gif jinbutsu.gif
% composite -compose over haikei.gif.0 jinbutsu.gif.0 gousei.gif.0
% composite -compose over haikei.gif.1 jinbutsu.gif.1 gousei.gif.1
% convert -loop 0 -delay 100 gousei.gif.* gousei_anime.gif

といったような手順になるかと思います

ImageMagick を使った処理を行うプログラムなどはよく作りますが,難しくは無いものの,ある程度の馴れが必要です(癖みたいなものがあります.バージョンの違いにより,挙動が変わる事もあります)

http://www.imagemagick.org/

id:gaziro2000

詳細な事例ありがとうございます。

問題が2つあって、

.

1.もとのアニメGIFの表示時間に合わせたいため、表示時間情報を取得できるか?

.

2.アニメGIFの2コマ目以降が、キャンバスサイズと同サイズで無い場合があり。

サイズが小さかった場合、描画位置のピクセルx,yが取れるか?

上記の方法でやると、2コマめが小さかった場合、左上に寄ってしまうと思います。

.

なんか、自分で書いていて、どちらかというと、imagemagickというより、GIFファイルのメタ情報をちゃんと取れるか?

という話になってきた気がします。

そんなライブラリがあるよとかいうことがあれば是非。

メインの言語はPHPですが。他の言語のものも参考になるのであると嬉しいです。

2008/11/25 11:46:58

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません