These pages are written by only Japanese.

Welcom to My Diary.com
最新の日記タイトル一覧カテゴリ別タイトル一覧トップへ戻る〜

おはようございます♪ 現在は3月29日(金)7時4分。 朝御飯のお時間です。


hns - 日記自動生成システム - Version 2.19.5 (色々 Fixed)

先月 2009年02月 来月
01 02 3 04 5 6 7
08 09 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Namazu for hns による簡易全文検索です。
詳細は 詳細指定/ヘルプをご参照下さい。
検索式:

2009年02月15日(日)

[swfed] 透明度付き画像の入れ替え不具合

swfed で SWF 内の画像を透明度付き PNG 画像で差し替えると おかしな色が混じる件ですが、仕様書の中に以下の記述を発見。
           BitmapPixelData ARGB[image data size]
Array of pixel colors.
Number of entries is BitmapWidth * BitmapHeight.
The RGB data must already be multiplied by the alpha channel value.
Flash CS3 とかで画像を放り込むと透明な場所の RGB 値に変化があったのは そういう事か…
予め alpha 値分減らして RGB 値を保存しておけば、 実行時の色の重ね合わせで処理を省けますしね。

問題の説明:

まとめると、以下のような感じ
  • 実行時の色の重ね合わせ処理を軽くする為、予め alpha 分 RGB 値を減らすのが本来の仕様。(計算式からの推測)
  • ところが、減らさずに PNG データの RGB 値をそのまま Lossless2 に埋め込んでいた。(不具合)
  • その為、色の重ね合わせで RGB 値が大きくなりすぎ 255 を超え、2 の補数でひっくり返って、ネガっぽい色が表示された。(前半は憶測)
  • ただし、alpha = 0 の時だけその色を足さない処理になっていて(憶測) そこだけ透明度が働いて輪郭の外側の背景が見えていた。 (なので alpha を 0 と 255 の2値表現で利用する場合は問題が発生しない *1 )
すっきり。(´∀`)

trunk に commit:

alpha 値(不透明度)が 0, 255 以外の時に表示される色がおかしくなる不具合を修正
- PNG の (R, G, B, A) を (R*A/255, G*A/255, B*A/255, A) に変換し Lossless2 タグに保存するように修正
- GIF は透明度 pixel を (0, 0, 0, 0) で保存するように修正

2009/12/10 追記:


*1: …と思ってたけど、微妙におかしいとの報告も貰っているので要研究。

これで、1 日分だよ〜。

タイトル一覧
カテゴリ分類
Database
JXTA
Java
XML
awm
bookmark
keyword
memo
news
research
Powered by hns-2.19.5, HyperNikkiSystem Project