Các màu sắc trong này bàn là tất cả không minh bạch. Tôi đoán giá trị cho A
được đặt thành FF
.
Mã cho sự minh bạch là gì?
Ví dụ màu này FFF0F8FF (AliceBlue), thành một mã trong suốt như ??F0F8FF
?
Các màu sắc trong này bàn là tất cả không minh bạch. Tôi đoán giá trị cho A
được đặt thành FF
.
Mã cho sự minh bạch là gì?
Ví dụ màu này FFF0F8FF (AliceBlue), thành một mã trong suốt như ??F0F8FF
?
Câu trả lời:
Độ trong suốt được kiểm soát bởi kênh alpha ( AA
in #AARRGGBB
). Giá trị tối đa (255 dec, FF hex) có nghĩa là hoàn toàn mờ đục. Giá trị tối thiểu (0 dec, 00 hex) có nghĩa là hoàn toàn minh bạch. Các giá trị ở giữa là bán trong suốt, tức là màu được trộn với màu nền.
Để có được màu hoàn toàn trong suốt, đặt alpha thành 0. RR
, GG
Và BB
không liên quan trong trường hợp này vì không có màu sắc sẽ được hiển thị. Điều này có nghĩa #00FFFFFF
("Trắng trong suốt") có cùng màu với #00F0F8FF
("AliceBlue trong suốt"). Để đơn giản, người ta chọn màu đen ( #00000000
) hoặc trắng ( #00FFFFFF
) nếu màu không quan trọng.
Trong bảng bạn đã liên kết với bạn sẽ tìm thấy Transparent
được xác định là #00FFFFFF
.
7F
. Đặt máy tính của bạn ở chế độ hex, nó sẽ thực hiện các mẹo cho bạn.
#7FFFFFFF
.
Dưới đây là bảng từ giá trị% đến hex:
Ví dụ : Đối với 85% màu trắng, bạn sẽ sử dụng #D9FFFFFF
.
Ở đây 85% = "D9" & Trắng = "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
Nó được tính như thế nào?
FF là số được viết ở chế độ hex. Con số đó đại diện cho 255 trong số thập phân. Ví dụ: nếu bạn muốn 42% để tính toán, bạn cần tìm 42% số 255 và chuyển đổi số đó thành hex. 255 * 0,42 ~ = 107 107 đến hex là "6B - maleta
Thêm vào các câu trả lời khác và không làm gì thêm những gì @Maleta đã giải thích trong một nhận xét trên https://stackoverflow.com/a/28481374/1626594 , thực hiện alpha * 255 sau đó làm tròn sau đó thành hex . Đây là một công cụ chuyển đổi nhanh 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>
Chỉ cần sử dụng này:
android: nền = "# 00FFFFFF"
nó sẽ làm việc của bạn
Nếu bạn có giá trị hex của mình và bạn chỉ tự hỏi giá trị của alpha sẽ là gì, đoạn trích này có thể giúp:
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));