2009-07-11 17 views
1

C#にはピクチャボックスがあります。私は4色を描きたいと思います。デフォルトは白、赤、緑、青です。どのように私はこのピックボックスにstritchedこれら4色を描くのですか?または私は4ピックボックスを持っている必要がありますか?その場合、どのようにRGBの色を設定するのですか?ピクチャボックスでの色の描画?

+1

あなたの質問は非常にあいまいです。それぞれの部分に長方形を描きたいですか?ピクセルを描画しますか?何? – Dykam

答えて

8

具体的に何を描きたいかを指定する必要があります。あなたは赤を描くことはできません - それは理にかなっていません。ただし、100ピクセルの高さと100ワイドの位置(0,0)に赤い四角形を描くことができます。しかし、私はできることに答えるつもりです。

シェイプのアウトラインを特定の色に設定する場合は、Penオブジェクトを作成します。ただし、図形を色で塗りつぶしたい場合は、Brushオブジェクトを使用します。ここでは、赤で塗りつぶされた四角形を描画する方法の例だと、四角形が緑色に概説:

private void pictureBox_Paint(object sender, PaintEventArgs e) 
{ 
    Graphics graphics = e.Graphics; 

    Brush brush = new SolidBrush(Color.Red); 
    graphics.FillRectangle(brush, new Rectangle(10, 10, 100, 100)); 

    Pen pen = new Pen(Color.Green); 
    graphics.DrawRectangle(pen, new Rectangle(5, 5, 100, 100)); 
} 
2

ペイントイベントのイベントハンドラを作成し、フォームにピクチャボックスを追加し、それは次のようになります。これは、4つの長方形に表面を分割する

private void PictureBox_Paint(object sender, PaintEventArgs e) 
{ 
    int width = myPictureBox.ClientSize.Width/2; 
    int height = myPictureBox.ClientSize.Height/2; 

    Rectangle rect = new Rectangle(0, 0, width, height); 
    e.Graphics.FillRectangle(Brushes.White, rect); 
    rect = new Rectangle(width, 0, width, height); 
    e.Graphics.FillRectangle(Brushes.Red, rect); 
    rect = new Rectangle(0, height, width, height); 
    e.Graphics.FillRectangle(Brushes.Green, rect); 
    rect = new Rectangle(width, height, width, height); 
    e.Graphics.FillRectangle(Brushes.Blue, rect); 
} 

と色でそれらのそれぞれを描きます白、赤、緑、青。

0

あなたは非事前に定義された色を使用したい場合は、静的メソッドからColorオブジェクトを取得する必要がありますColor.FromArgb()。

int r = 100; 
int g = 200; 
int b = 50; 

Color c = Color.FromArgb(r, g, b); 

Brush brush = new SolidBrush(c); 
//... 

よろしく
オリバーハナッピ

関連する問題