programing

Android의 색상 이해 (6자)

cafebook 2023. 9. 10. 12:39
반응형

Android의 색상 이해 (6자)

안드로이드에서 색상이 어떻게 작동하는지 이해하려고 합니다.는 이 을 제는을제로다이yf의 배경으로 했습니다.LinearLayout가 약간 회색이 . , 에 가 요 요 가 에 .

<gradient android:startColor="#b4555555" android:endColor="#b4555555"
 android:angle="270.0" />

마지막 두 글자(55)를 제거하면 단색이 되어 투명도가 떨어집니다.이것에 대한 설명을 볼 수 있는 페이지를 찾으려고 했는데 찾을 수가 없었습니다.

Android는 #AARRGB로 포맷된 16진수 ARGB 값을 사용합니다.첫 번째 글자 쌍인 AA는 알파 채널을 나타냅니다.십진수 불투명도 값을 16진수 값으로 변환해야 합니다.단계는 다음과 같습니다.

알파 육각형 값 프로세스

  1. 불투명도를 십진수 값으로 하고 255를 곱합니다.따라서 50% 불투명한 블럭이 있으면 소수점 값은 .5가 됩니다.예: .5 x 255 = 127.5
  2. 분수는 16진수로 변환되지 않으므로 숫자를 가장 가까운 정수로 반올림해야 합니다.예를 들어 127.5라운드에서 128라운드까지, 55.25라운드에서 55라운드까지.
  3. http://www.binaryhexconverter.com/decimal-to-hex-converter, 같이 십진-16진수 변환기에 십진 값을 입력하고 값을 변환합니다.
  4. 단일 값만 반환되는 경우에는 0으로 접두사를 붙입니다.예를 들어, 5%의 불투명도를 얻으려고 하는데 이 과정을 거치고 있다면 D의 16진수 값을 얻게 될 것입니다.0D로 표시되도록 앞에 0을 추가합니다.

그렇게 알파 채널 값을 찾아냅니다.자유롭게 당신을 위한 가치 목록을 작성했습니다.맛있게 드세요.

16진수 불투명도 값

  • 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

@BlondeFurious의 답변에서 벗어나, 각 16진수 값을 100%에서 0% 알파로 얻을 수 있는 자바 코드가 있습니다.

for (double i = 1; i >= 0; i -= 0.01) {
    i = Math.round(i * 100) / 100.0d;
    int alpha = (int) Math.round(i * 255);
    String hex = Integer.toHexString(alpha).toUpperCase();
    if (hex.length() == 1)
        hex = "0" + hex;
    int percent = (int) (i * 100);
    System.out.println(String.format("%d%% — %s", percent, hex));
}

출력:

100% — FF
99% — FC
98% — FA
97% — F7
96% — F5
95% — F2
94% — F0
93% — ED
92% — EB
91% — E8
90% — E6
89% — E3
88% — E0
87% — DE
86% — DB
85% — D9
84% — D6
83% — D4
82% — D1
81% — CF
80% — CC
79% — C9
78% — C7
77% — C4
76% — C2
75% — BF
74% — BD
73% — BA
72% — B8
71% — B5
70% — B3
69% — B0
68% — AD
67% — AB
66% — A8
65% — A6
64% — A3
63% — A1
62% — 9E
61% — 9C
60% — 99
59% — 96
58% — 94
57% — 91
56% — 8F
55% — 8C
54% — 8A
53% — 87
52% — 85
51% — 82
50% — 80
49% — 7D
48% — 7A
47% — 78
46% — 75
45% — 73
44% — 70
43% — 6E
42% — 6B
41% — 69
40% — 66
39% — 63
38% — 61
37% — 5E
36% — 5C
35% — 59
34% — 57
33% — 54
32% — 52
31% — 4F
30% — 4D
29% — 4A
28% — 47
27% — 45
26% — 42
25% — 40
24% — 3D
23% — 3B
22% — 38
21% — 36
20% — 33
19% — 30
18% — 2E
17% — 2B
16% — 29
15% — 26
14% — 24
13% — 21
12% — 1F
11% — 1C
10% — 1A
9% — 17
8% — 14
7% — 12
6% — 0F
5% — 0D
4% — 0A
3% — 08
2% — 05
1% — 03
0% — 00

자바스크립트 버전은 아래와 같습니다.

var text = document.getElementById('text');
for (var i = 1; i >= 0; i -= 0.01) {
    i = Math.round(i * 100) / 100;
    var alpha = Math.round(i * 255);
    var hex = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();
    var perc = Math.round(i * 100);
    text.innerHTML += perc + "% — " + hex + " (" + alpha + ")</br>";
}
<div id="text"></div>


구글에서 "number to hex"를 검색할 수도 있습니다. 여기서 'number'는 0에서 255 사이의 임의의 값입니다.

6개의 16진수를 제공할 경우 RGB(빨간색, 녹색 및 파란색 각 값에 대해 2개의 16진수)를 의미합니다.

8개의 16진수를 제공할 경우 ARGB(알파, 빨강, 초록, 파랑의 각 값에 대해 각각 2개의 16진수)가 됩니다.

따라서 최종 55를 제거하면 A=B4, R=55, G=55, B=55(대부분 투명한 회색)에서 R=B4, G=55, B=55(완전히 투명하지 않은 어두운 회색)로 변경됩니다.

지원되는 형식은 "색상" 설명서를 참조하십시오.

참고: 이 답변은 현재 재료 설계 사양에 따라 최신이 아닐 수 있습니다.

안드로이드 머티리얼 디자인

텍스트 색 불투명도 수준을 설정하기 위한 변환입니다.

  • 100% : FF
  • 87%: DE
  • 70% : B3
  • 54%: 8A
  • 50%: 80
  • 38%: 61
  • 12% : 1층

밝은 배경의 어두운 텍스트

enter image description here

  • 텍스트: :DE000000
  • 텍스트: :8A000000
  • 된 텍스트, 텍스트 및 된 된 :61000000
  • :1F000000

어두운 배경에 흰색 텍스트

enter image description here

  • 텍스트: :FFFFFFFF
  • 텍스트: :B3FFFFFF
  • 된 텍스트, 텍스트 및 된 된 :80FFFFFF
  • :1FFFFFFF

안드로이드에서 색상은 RGB 또는 ARGB로 지정할 수 있습니다.

http://en.wikipedia.org/wiki/ARGB

RGB에서는 모든 색상(빨간색, 녹색, 파란색)에 대해 두 개의 문자가 있으며 ARGB에서는 알파 채널에 대해 두 개의 문자가 추가됩니다.

자, 8자가 있으면 ARGB이고, 처음 두자는 알파 채널을 지정합니다.선두 두 문자를 제거하면 RGB(단색, 알파/투명 없음)만 해당됩니다.Java 소스 코드에 색상을 지정하려면 다음을 사용해야 합니다.

int Color.argb (int alpha, int red, int green, int blue)

alpha  Alpha component [0..255] of the color
red    Red component [0..255] of the color
green  Green component [0..255] of the color
blue   Blue component [0..255] of the color

참조: argb

8자리 16진수 색상 값은 ARGB(Alpha, Red, Green, Blue)를 나타내는 반면 6자리 값은 100% 불투명도(완전 불투명)를 가정하고 RGB 값만을 정의합니다.따라서 완전히 불투명하게 하려면 #FF5555를 사용하거나 #555555를 사용할 수 있습니다.각 2자리 16진수 값은 1바이트로 0~255 사이의 값을 나타냅니다.

이 표를 사용합니다(빠른 검색을 위해 colors.xml로 입력하는 것이 좋습니다.

<!--Percent to hex conversion table-->
<!--%  0  1  2  3  4  5  6  7  8  9-->
<!--0 00 03 05 08 0A 0D 0F 12 14 17-->
<!--1 19 1C 1F 21 24 26 29 2B 2E 30-->
<!--2 33 36 38 3B 3D 40 42 45 47 4A-->
<!--3 4D 4F 52 54 57 59 5C 5E 61 63-->
<!--4 66 69 6B 6E 70 73 75 78 7A 7D-->
<!--5 80 82 85 87 8A 8C 8F 91 94 96-->
<!--6 99 9C 9E A1 A3 A6 A8 AB AD B0-->
<!--7 B3 B5 B8 BA BD BF C2 C4 C7 C9-->
<!--8 CC CF D1 D4 D6 D9 DB DE E0 E3-->
<!--9 E6 E8 EB ED F0 F2 F5 F7 FA FC-->

새로운 크롬 버전(아마도 67.0.3396.62)에서 CSS hex 색상은 이 모델 디스플레이를 사용할 수 있습니다.

예:

div{
  background-color:#FF00FFcc;
}

cc는 불투명하지만, 오래된 크롬은 그 모드를 지원하지 않습니다.

안드로이드에서는 다음과 같은 형식으로 색상을 선언할 수 있습니다.

#AARRGGBB

AA입니다. 은 알파 -게장은파다을는다을파게ars은장는ltet-s,t

RR GG BB- 각각 빨간색, 녹색 및 파란색 채널

이제 우리 색에 투명도를 더하기 위해서는 알파(투명도)를 나타내는 16진수 값으로 앞에 붙여야 합니다.

예를 들어, 80% 투명도 값을 검은색으로 설정하려면 (#000000)와 함께 붙여야 합니다.CC, 결과적으로 우리는 다음과 같은 색상 자원을 가지게 됩니다.#CC000000.

제 블로그 https://androidexplained.github.io/android/ui/2020/10/12/hex-color-code-transparency.html 에서 더 자세히 읽을 수 있습니다.

16진수 코드의 색상은 다음과 같이 적습니다.

# AA RR GG BB
# 알파 레드 그린 블루

그리고 각 그룹(AA,RR,GG,BB)에 대해 가능한 값은 다음과 같습니다.
-> 00에서 16진수로 FF, 즉 0에서 255까지

따라서 색상의 Alpha/AA/Transparency를 변경하려면 AA 그룹이 나타내는 16진수 문자열에서 처음 두 개의 16진수 문자만 변경하면 됩니다.

                 50%의 경우 ->255 x0.50=128(와트/와트)
               128을 16진수 = 08변환

So Green #0050% Alpha/Transparency를 가진 FF00은 #0800이 됩니다.FF00

언급URL : https://stackoverflow.com/questions/5445085/understanding-colors-on-android-six-characters

반응형