android - 透明度16進数
十六進制透明度的顏色 (7)
例如使用python來計算這個值(用python 3編寫),50%的透明度:
hex(round(256*0.50))
:)
這個問題在這裡已經有了答案:
- 了解Android上的顏色(六個字符) 6個答案
我正在為我的應用小部件實現wigdget透明度選項,儘管我在正確獲取十六進制顏色值時遇到了一些麻煩。 對於十六進制顏色透明度是一種全新的方式,我搜索了一下,儘管我找不到具體的問題答案。
我想通過十六進制顏色設置透明度,所以我們說我的十六進制顏色ID“#33b5e5”,我希望它是50%透明。 然後我會用“#8033b5e5”,因為80是50%。
我在這裡找到了一張有用的圖表: http://www.dtp-aus.com/hexadeci.htm : http://www.dtp-aus.com/hexadeci.htm 。 有了這些數據,我設法提出了這個問題:
0% = #00
10% = #16
20% = #32
30% = #48
40% = #64
50% = #80
60% = #96
70% = #112
80% = #128
90% = #144
現在問題開始出現時,我得到高於100十六進制。 十六進制顏色代碼只能長8個符號? 例如#11233b5e5(80%)崩潰。
我能做些什麼來使我能夠使用更高的數字?
我意識到這是一個古老的問題,但我在做類似的事情時碰到過它。
使用SASS,您可以將RGBA轉換為十六進制ARGB: ie-hex-str
。 我在這裡用mixin。
@mixin ie8-rgba ($r, $g, $b, $a){
$rgba: rgba($r, $g, $b, $a);
$ie8-rgba: ie-hex-str($rgba);
.lt-ie9 &{
background-color: transparent;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#{$ie8-rgba}', endColorstr='#{$ie8-rgba}');
}
}
.transparent{
@include ie8-rgba(88,153,131,.8);
background-color: rgba(88,153,131,.8);
}
輸出:
.transparent {
background-color: rgba(88, 153, 131, 0.8);
}
.lt-ie9 .transparent {
background-color: transparent;
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#CC589983', endColorstr='#CC589983');
zoom: 1;
}
我總是繼續來這裡檢查int / hex alpha值。 所以,最終在我的java utils類中創建一個簡單的方法。 此方法將百分比轉換為十六進制值並附加到顏色代碼字符串值。
public static String setColorAlpha(int percentage, String colorCode){
double decValue = ((double)percentage / 100) * 255;
String rawHexColor = colorCode.replace("#","");
StringBuilder str = new StringBuilder(rawHexColor);
if(Integer.toHexString((int)decValue).length() == 1)
str.insert(0, "#0" + Integer.toHexString((int)decValue));
else
str.insert(0, "#" + Integer.toHexString((int)decValue));
return str.toString();
}
所以, Utils.setColorAlpha(30, "#000000")
會給你#4c000000
試試谷歌搜索這個(或點擊這裡 )
255 * .2 to hex
它會產生0x33
。
但是,谷歌並沒有整理值,所以你只能使用1位乘數。 如果你想使用.85,你必須首先獲得255 * .85的(rounded-value here) to hex
,然後在谷歌搜索中輸入(rounded-value here) to hex
。
這個問題一般可以通過交叉乘法來解決
如何計算?
十六進制值為百分比
百分比=(十進制值)/ 255 * 100
B4的透明度百分比是多少? B4在十六進制是180 。
所以180/255 * 100 = 70,5%
百分比到十六進制值
十進制=百分比/ 100 * 255
什麼是80%的十六進制?
80/100 * 255 = 204 。 十六進制值204是CC
我更喜歡教如何找到解決方案而不是交表
給一個人一條魚,然後餵他一天; 教一個男人去釣魚,你一輩子餵他
這是一個正確的百分比表格。 例如,對於50%的白色,你會使用#80FFFFFF。
- 100% - FF
- 95% - F2
- 90% - E6
- 85% - D9
- 80% - CC
- 75% - 高爐
- 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
( source )