颜色绘制在PictureBox?(Drawing Colors in a picturebox?)

2019-07-30 01:17发布

在C#中,我有一个图片。 我想提请4种颜色。 默认将白色,红色,绿色,蓝色。 我如何得出这个picbox stritched这4种颜色? 或者我应该有4个picbox? 在这种情况下如何设置RGB颜色?

Answer 1:

你需要指定它是什么,你会特别喜欢画画。 你不能画一个红色的 - 那是没有意义的。 你可以,但是,在绘制位置(0,0)一个红色矩形,其为100个像素高和100宽。 我会回答我所能,但是。

如果你想要的形状的轮廓设置为特定的颜色,你会创建一个笔对象。 如果你想填充形状与颜色,但是,那么你可以使用一个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));
}


Answer 2:

一个PictureBox添加到窗体,创建油漆事件的事件处理程序,使它看起来像这样:

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);
}

这将表面分为4个矩形和画他们每个人在白色,红色,绿色和蓝色。



Answer 3:

如果你想使用非预定义的颜色,那么你就需要从静态方法Color.FromArgb()得到一个Color对象。

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

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

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

最好的祝福
奥利弗Hanappi



文章来源: Drawing Colors in a picturebox?