android - 透明度16進数




十六進制透明度的顏色 (7)

例如使用python來計算這個值(用python 3編寫),50%的透明度:

hex(round(256*0.50))

:)

這個問題在這裡已經有了答案:

我正在為我的應用小部件實現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 )








transparency