2016-04-21 16 views
0

私が作っているJavaScriptプログラムでは、オーバーレイ層(#7F7F7F)のアルファ値を色(たとえば#4A6CD4)の上に見つける必要があります。出力色(例:#6380DA)。だから、次のようになります。アルファの3色の検索

上から下へ:
# 7F7F7F(アルファは不明である)出力#6380DAがする
# 4A6CD4

。私が知る必要があるのは、オーバーレイのアルファ値とそれを見つける方法だけです。誰か助けてくれますか?

答えて

0

下層のアルファ1、あなたは簡単にこのようなアルファ値を計算することができるされている場合:

var top = 0x7F7F7F; 
var bottom = 0x4A6CD4; 
var actual = 0x6380DA; 
var alpha = (actual - bottom)/(top-bottom); 
console.log(alpha); 
+0

私はtopLayerを使用しているので、変数 'top'はすでに使用されていますが、結果は得られますが、トップレイヤーを黒色に設定すると、負のアルファ値が得られます。 –

+0

アルファが0より小さい場合はマイナスをプラスに変更してください。 –

0

「公式」ブレンディング式

色=アルファ*オーバーレイ色を得なければなりません+(1-alpha)*背景色

各チャンネル(Red、Green、Blue、それぞれ16進表示のカラーコードの2桁で表される)の式を計算する必要があります

アルファのためにこれを解くことができます(またはExcelを使用して数値的に解く)

数式はあなたが指定した値の例と一致しませんが、実際の値かランダムな例ですか?

+0

オーバーレイを除くすべての値は実際には(#FFFFFF)または(#000000) –

関連する問題