+ JavaScript の質問用スレッド vol.134 +at HP
+ JavaScript の質問用スレッド vol.134 + - 暇つぶし2ch378:Name_Not_Found
18/07/14 17:07:28.37 .net
>>365 >>370
ご回答有り難うございます
確かに同形同位置の2枚の画像のフェードの場合はおっしゃる通りなのですが
実際は透過部分を持った不定形不定位置不定数枚のpngが動的に現れたり消えたりし得るというフェードであります
つまり、画像Aに画像Bを重ねる場合
画像Aを100%のままにしておくと画像Bが重ならない部分に問題が出てしまうということです
フェードが50%に達した段階では、
画像Aの画像Bに重ならない部分は背景と1:1で交わってほしく
画像Bの画像Aに重ならない部分は背景と1:1で交わってほしく
画像Aと画像Bの重なる部分はそれぞれ1:1で交わって背景は交わらさせたくないということです
ここからはフェードが同期的に始まったという場合で例を書きますが
もし画像Aのアルファが元々0.5である部分Дと、画像Bのアルファが元々1である部分Бが背景部分Gの上で交わるときは
フェードが50%に達した段階で0.25Д+0.5Б そしてのこる 0.25の部分がGとなってほしいです
もし画像Aのアルファが元々0.6である部分Дと、画像Bのアルファが元々0.7である部分Бと、
画像Eのアルファが元々0.8である部分Ёが背景部分Gの上で交わるときは
フェードが50%に達した段階で0.3Д+0.35Б+0.4Б これは1を超えるので、全ての係数の形が1となるように調整し
Gは全く含まれない、というような挙動にしたいです
要するに、αはフェード段階と画像のアルファに基づいて各画像分加算し、色もフェード段階と画像のアルファに基づき単純に加算する
ただしそのときαの合計が1を超える場合、αを1とし色の合計を調整して、最後に背景と重ねる
というようなうまくいくかどうか分からないアルゴリズムまでは考えたのですが
ピクセル操作などを行わずこういうようなことが簡単にできませんかね
ライブラリのフェードも試してみましたが、やはり問題は起こるようです(少しちらつくというか、浮くように見える)
今まで他の方はどうやって対処されてきたのでしょうか


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch