.
透過を含むアニメーションGif同士を2つ以上合成する方法を探しています。
アバターと背景などをプログラムから合成したいと思っています。
サーバーはlinux系です。
imagemagickやgdは知っていますが、簡単にはできないですよね?
具体的な方法を示していただけると助かります。
.
フリー、商用ソフトウエアでも結構です。
.
他)ASPの紹介でも結構ですが、アニメgif+アニメgifが可能なものを紹介して下さい。
他)windowsサーバーなど他の環境で簡単にできるという事があれば、具体的に教えて下さい。
他)俺そのプログラム作れますという人もどうぞ。
どの程度を簡単とされるかわかりませんが,私は 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 を使った処理を行うプログラムなどはよく作りますが,難しくは無いものの,ある程度の馴れが必要です(癖みたいなものがあります.バージョンの違いにより,挙動が変わる事もあります)
詳細な事例ありがとうございます。
問題が2つあって、
.
1.もとのアニメGIFの表示時間に合わせたいため、表示時間情報を取得できるか?
.
2.アニメGIFの2コマ目以降が、キャンバスサイズと同サイズで無い場合があり。
サイズが小さかった場合、描画位置のピクセルx,yが取れるか?
上記の方法でやると、2コマめが小さかった場合、左上に寄ってしまうと思います。
.
なんか、自分で書いていて、どちらかというと、imagemagickというより、GIFファイルのメタ情報をちゃんと取れるか?
という話になってきた気がします。
そんなライブラリがあるよとかいうことがあれば是非。
メインの言語はPHPですが。他の言語のものも参考になるのであると嬉しいです。