프로그래머가 RGB 값에서 색상 이름을 검색 할 수있는 가능한 모든 메소드가 Java에 있습니까? 예 : R : 255, G : 255, B : 0은 노란색입니다.RGB 값을 색상 이름과 일치시키는 방법은 무엇입니까?
고맙습니다.
프로그래머가 RGB 값에서 색상 이름을 검색 할 수있는 가능한 모든 메소드가 Java에 있습니까? 예 : R : 255, G : 255, B : 0은 노란색입니다.RGB 값을 색상 이름과 일치시키는 방법은 무엇입니까?
고맙습니다.
아니요, 없습니다. 다른 방향으로 만. 일반적인 색상의 경우 Color 클래스에 정적 필드가 있습니다.
Intellij IDEA는 색상을 정의 할 때 색상이 정의 된 선의 왼쪽 (줄 번호 근처)에 실제 색상이 나타납니다. 여기를 클릭하면 색상을 선택할 수 있으며 선택한 색상에 따라 R, G 및 B의 양이 자동으로 설정됩니다.
당신이 할 수있는 최선은이 맵을 (본질적으로) 구현 한 사람을 찾는 것입니다. 나는 누구도 그렇게 해왔다는 것을 모른다. 그러나 너 자신을 그렇게하지 못하게하는 것은 아무것도 아니다. 색상 이름을 엄격하게 프로그래밍 방식으로 결정할 수있는 방법은 없습니다.
당신은 같은 것을 할 수있는 :
Map<Color, String> colors = new HashMap<Color, String>();
public void populateColors() {
colors.put(new Color(255, 000, 000), "Red");
colors.put(new Color(000, 255, 000), "Green");
colors.put(new Color(000, 000, 255), "Blue");
colors.put(new Color(255, 255, 000), "Yellow");
...
}
public String getColorName(Color color) {
if (!colors.containsKey(color)) {
return "Unknown";
}
return colors.get(color);
}
그러나이의 제한 사항에 유의을; 사용자가 색상을 선택할 수 있도록 허용하는 경우 (특히 수동 입력 대신 colorpicker와 같은 부정확 한 도구를 사용하는 경우) 255, 255, 0
대신 255, 254, 0
을 선택하면 알 수없는 색상이됩니다 (노란색이 아님). , 그들이 인간의 눈에 똑같이 보일 것이라는 사실에도 불구하고). 256^3 = 16,777,216 색이 있습니다. 그들 모두가 이름을 가진 방법은 없습니다.
아니요 무수히 많은 이름없는 색상이 있다는 점을 감안할 때 현실적인 구현이 가능하지는 않습니다.
당신은 잘 알려진 색상의 일부를 사용할 수Color.BLACK, Color.CYAN 등