2011-10-22 3 views
0

System.Drawing을 가져 오지 않고 RGB를 지정하면 색상을 만들 수있는 방법이 있는지 알고 싶습니다. 나는 내가 가지고있는 몇 가지 사각형을 채우기 위해이 색상을 사용하고자하는 System.Drawing을 사용하지 않고 색상을 생성하는 방법

아주 많이 당신은 당신 RG와 b 값을 저장하고 당신이로 변환하는 데 도움이됩니다 컬러 구조체를하고 싶은 말은

+0

"색상 생성"또는 "색상 생성"이란 무엇을 의미합니까? – sarnold

+0

주어진 RGB, 그 색상을 만들고 싶습니다 – Claudia

+0

RGB *는 * 색상입니다. 그 색으로 무엇을하고 싶니? –

답변

1

감사 생성 32 비트 정수?

public struct MyColor 
{ 
    public int Value; 

    public MyColor(int a, int r, int g, int b) 
    { 
     this.Value = ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | (b & 0xFF); 
    } 

    public MyColor(int r, int g, int b) : 
     this(255, r, g, b) 
    { 
    } 

    public int A 
    { 
     get 
     { 
      return (byte) (this.Value >> 24); 
     } 
     set 
     { 
      this.Value = (this.Value & ~(0xFF << 24)) | ((value & 0xFF) << 24); 
     } 
    } 

    public int R 
    { 
     get 
     { 
      return (byte) (this.Value >> 16); 
     } 
     set 
     { 
      this.Value = (this.Value & ~(0xFF << 16)) | ((value & 0xFF) << 16); 
     } 
    } 

    public int G 
    { 
     get 
     { 
      return (byte) (this.Value >> 8); 
     } 
     set 
     { 
      this.Value = (this.Value & ~(0xFF << 8)) | ((value & 0xFF) << 8); 
     } 
    } 

    public int B 
    { 
     get 
     { 
      return (byte) (this.Value); 
     } 
     set 
     { 
      this.Value = (this.Value & ~(0xFF)) | ((value & 0xFF)); 
     } 
    } 
} 

참고 : 손으로 만 쓰는 경우 오류가 발생할 수 있습니다.

관련 문제