이 표의 색상 이 모두 투명하지는 않습니다. 에 대한 값 A
이로 설정되어 FF
있습니다.
투명성 코드는 무엇입니까?
예를 들어이 색상 FFF0F8FF (AliceBlue)는 ??F0F8FF
?
이 표의 색상 이 모두 투명하지는 않습니다. 에 대한 값 A
이로 설정되어 FF
있습니다.
투명성 코드는 무엇입니까?
예를 들어이 색상 FFF0F8FF (AliceBlue)는 ??F0F8FF
?
답변:
투명도는 알파 채널 ( AA
in #AARRGGBB
)에 의해 제어됩니다 . 최대 값 (255 dec, FF hex)은 완전히 불투명 함을 의미합니다. 최소값 (0 dec, 00 hex)은 완전히 투명 함을 의미합니다. 사이의 값은 반투명합니다. 즉, 색상이 배경색과 혼합됩니다.
완전히 투명한 색상을 얻으려면 알파를 0으로 설정하십시오. RR
, GG
그리고 BB
어떤 색상을 볼 수 없기 때문에이 경우에는 무관하다. 이것은 #00FFFFFF
( "투명한 흰색")이 #00F0F8FF
( "투명한 AliceBlue") 와 같은 색 임을 의미 합니다. 간단하게 유지하려면 색상이 중요하지 않은 경우 검정 ( #00000000
) 또는 흰색 ( #00FFFFFF
)을 선택합니다 .
연결된 표에서로 Transparent
정의 된 것을 찾을 수 있습니다 #00FFFFFF
.
7F
입니다. 계산기를 16 진수 모드로 설정하면 트릭을 수행합니다.
#7FFFFFFF
입니다.
다음은 %에서 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 ~ = 107107 16 진수는 "6B – maleta
다른 답변에 추가하고 @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>
이것을 사용하십시오 :
android : background = "# 00FFFFFF"
그것은 당신의 일을 할 것입니다.
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));