2011-10-22 15 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)); 
     } 
    } 
} 

注:手作業で書かれているだけでエラーがある場合があります。

関連する問題