透明なARGB 16進値


160

この表の色はすべて透明ではありません。の値Aはに設定されてFFいると思います。

透明性のコードは何ですか?

たとえば、この色FFF0F8FF(AliceBlue)は、??F0F8FF


最後に、特定のブラウザ用の16進コードで透明色を設定する方法があります(新機能)。stackoverflow.com/a/60876347/2457251
Almir Campos

回答:


199

透明度は、アルファチャンネル(によって制御されるAA#AARRGGBB)。最大値(10進255、16進FF)は完全に不透明であることを意味します。最小値(0 dec、00 hex)は完全に透明であることを意味します。中間の値は半透明です。つまり、色は背景色と混合されます。

完全に透明な色を得るには、アルファをゼロに設定します。RRGGおよびBBこの場合、色は表示されないため、無関係です。これは、#00FFFFFF(「透明な白」)が#00F0F8FF(「透明なAliceBlue」)と同じ色であることを意味します。シンプルにするために、色が重要でない場合は黒(#00000000)または白(#00FFFFFF)を選択します。

リンクした表では、Transparentとして定義されてい#00FFFFFFます。


2
50%の不透明度が必要だとしましょう。不透明度/透明度が50%の白色のコードは何ですか?
user3332579 14

10
@ user3332579:50%は7Fです。電卓を16進モードにしてください。これでうまくいきます。
theHacker 14

1
@ user3332579:したがって、50%の白は#7FFFFFFFです。
theHacker 14

6
形式は#RRGGBBAA HEX8(または#RGBA Hex4中)とではありません、私はクローム62,63,64でテストしている#AARRGGBB(または#ARGB)を参照してくださいCanIUse.comhttps://css-tricks.com/8- digit-hex-codes /Chrome機能ステータス
SGS Sandhu

3
@SGSSandhu質問はCSSを対象としていません。もう一度質問を参照してください。形式はARGBです。
theHacker

506

以下は、16進数値に対する%の表です。

:85%の白の場合、を使用します#D9FFFFFFここで85%= "D9"&白= "FFFFFF"


100% — FF
95% — F2
90% — E6

85% — D9

80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00

どのように計算されますか?

FFは16進モードで書き込まれた数値です。その数は10進数で255を表します。たとえば、42%を計算する場合は、numbeer 255の42%を見つけて、その数値を16進数に変換する必要があります。255 * 0.42〜= 107 107から16進数は "6B –マレタ


3
これをどのように計算しますか?
Saeed Jassani 2016

35
@SaeedJassani FFは16進モードで書かれた数値です。その数は10進数で255を表します。たとえば、42%を計算する場合は、numbeer 255の42%を見つけて、その数値を16進数に変換する必要があります。255 *
0.42〜

1
@Maletaどうもありがとう
サイードJassani

10

他の回答に追加して、@ Maletaがhttps://stackoverflow.com/a/28481374/1626594のコメントで説明したことを何もせずに、alpha * 255を実行してから16進数に丸めます。ここにクイックコンバーターがありますhttp://jsfiddle.net/8ajxdLap/4/

function rgb2hex(rgb) {
  var rgbm = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?((?:[0-9]*[.])?[0-9]+)[\s+]?\)/i);
  if (rgbm && rgbm.length === 5) {
    return "#" +
      ('0' + Math.round(parseFloat(rgbm[4], 10) * 255).toString(16).toUpperCase()).slice(-2) +
      ("0" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) +
      ("0" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) +
      ("0" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2);
  } else {
    var rgbm = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
    if (rgbm && rgbm.length === 4) {
      return "#" +
        ("0" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) +
        ("0" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) +
        ("0" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2);
    } else {
      return "cant parse that";
    }
  }
}

$('button').click(function() {
  var hex = rgb2hex($('#in_tb').val());
  $('#in_tb_result').html(hex);
});
body {
  padding: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Convert RGB/RGBA to hex #RRGGBB/#AARRGGBB:<br>
<br>
<input id="in_tb" type="text" value="rgba(200, 90, 34, 0.75)"> <button>Convert</button><br>
<br> Result: <span id="in_tb_result"></span>



1

16進数の値があり、アルファの値がどうなるか疑問に思っている場合は、次のスニペットが役立ちます。

const alphaToHex = (alpha => {
  if (alpha > 1 || alpha < 0 || isNaN(alpha)) {
    throw new Error('The argument must be a number between 0 and 1');
  }
  return Math.ceil(255 * alpha).toString(16).toUpperCase();
})

console.log(alphaToHex(0.45));

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.