« [日記]アニメーションGIF変換問題点 | トップページ | [日記]画像ビューア1.4の単体テスト完了 »

[日記]アニメーションGIF変換問題(その2)

 16色画像のアニメーションGIF変換時に透過色が正しく処理されない問題が解決しました。

 以前の処理では、高レベルの画像処理クラスを使って処理していたのですが、どうに思うような出力が成されないので、出力形式に変換した画像の透明ピクセルの値を透明色インデックス値に置き換えるという直接的な方法で対処しました。

 処理フローはこんな感じです。

  1. 内部形式画像(ARGBの4バンド)から全ピクセルのアルファ値配列を取得する。
  2. 出力形式画像(カラーインデックスのみの1バンド)から全ピクセルのカラーインデックス値配列を取得する。
  3. カラーインデックス値配列に対して、対応するアルファ値配列の値が0(完全に透明)の場合、透過色カラーインデックスを設定する。
  4. 透過色設定済みのカラーインデックス値配列を出力形式画像に設定する。

 高レベル画像クラスを使った解法もあるかもしれませんが(多分あるでしょうね…)、この方法で16色から256色まで完璧に対応できるので、今回はこれで解決とします。

|

« [日記]アニメーションGIF変換問題点 | トップページ | [日記]画像ビューア1.4の単体テスト完了 »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/224706/40664413

この記事へのトラックバック一覧です: [日記]アニメーションGIF変換問題(その2):

« [日記]アニメーションGIF変換問題点 | トップページ | [日記]画像ビューア1.4の単体テスト完了 »