Pergunta sobre picturebox, graphics, drawing, c# – Desenho de cores em um picturebox?

1

Em c # eu tenho um picturebox. Eu gostaria de desenhar 4 cores. O padrão será branco, vermelho, verde e azul. Como faço para desenhar essas 4 cores relacionadas neste picbox? ou devo ter 4 picbox? Nesse caso, como faço para definir a cor rgb?

Sua pergunta é bem vaga. Você quer desenhar retângulos em cada parte? Desenhar pixels? O que? Dykam

Sua resposta

3   a resposta
2

Adicione um PictureBox ao formulário, crie um manipulador de eventos para o evento de pintura e faça com que seja assim:

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

Isso dividirá a superfície em 4 retângulos e pintará cada um deles nas cores branco, vermelho, verde e azul.

0

Se você quiser usar cores não predefinidas, precisará obter um objeto Color a partir do método estático Color.FromArgb ().

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

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

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

Cumprimentos
Oliver Hanappi

8

Você precisa especificar o que gostaria especificamente de desenhar. Você não pode desenhar um vermelho - isso não faz sentido. Você pode, no entanto, desenhar um retângulo vermelho no local (0,0), que é 100 pixels de altura e 100 de largura. Vou responder o que posso, no entanto.

Se você quiser definir o contorno de uma forma para uma cor específica, crie umaCaneta objeto. Se você quiser preencher uma forma com uma cor, no entanto, você usaria um objeto Brush. Veja um exemplo de como você desenha um retângulo preenchido com vermelho e um retângulo destacado em verde:

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

Perguntas relacionadas