• The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
TITLE:GIF Overlay Libary
CENTER:''GIF画像重ね合わせライブラリ''
CENTER:''GIF89a Overlay Libary''
RIGHT:(c) 2008/09/18- yoya@awm.jp
#contents

----

- 何となく作ってみようかと。
- 実装より素材画像を作るのに時間がかかりそうだけど…
* policy [#policy]

- http://giflib.cvs.sourceforge.net/giflib/giflib/util/gifovly.c inspire
--  i want to commit GIF89a extend gifovly.c as gifovly2.c
- GIF Overlay for PHP ([[gifovly]])

* 方針 [#policy]
* function [#func]

- http://awm.jp/~yoya/giflib/util/gifovly.c を元に改造する
--  Eric の下に名前を並べられるYO (Copyright 的に)
- GIF89a 対応って事で gifovly2.c の名前で commit しちゃおうかな。(giflib 的に)
- gifovly extension も作る予定。 > GIF Overlay for PHP ([[gifovly]])
- image overlay likely gifovlty.c but GIF89a extended.
--  transparent overlapping
--  join GIF animation frame timeline

* 機能 [#func]
* spec [#spec]

- gifovlty.c を元に
- GIF89拡張の透明色を見て重ねるようにする
- GIF89a拡張のアニメーションにも対応する
- accept different frame count each GIF image
--  lcm frame animation generated.
- loop each frame count each GIF image

* 仕様 [#spec]
* implementation [#impl]

- 合成する画像のフレーム数が統一されない場合も考慮
- 最小公倍数フレームのアニメーションが生成されるようにする
- 各々の画像のフレーム数でループさせる
- split GIF image to frame
- all frame lcm calculation
- frame overlay with timeline t mod F{i} (t=timeline, F=frame count, i=image num) 
- clip screen and dispose = true 

* 実装 [#impl]
* relative [#rel]

- 全画像のフレームを分解する
- 全画像のフレーム数の最小公倍数を求める
- 各画像 i のフレーム数を F{i} とし、タイムラインを t とするなら t mod F{i} のフレームを合成
- 2フレーム移行は前フレームと差分のある領域を Trim 式にクリップして、dispose 有りでタイムライン連結

* 関連 [#rel]
- GIF Overlay for PHP ([[gifovly]])



Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes