Pregunta sobre picturebox, c#, graphics, drawing – ¿Dibujo de colores en una picturebox?

1

En C # tengo una picturebox. Me gustaría dibujar 4 colores. El valor predeterminado será blanco, rojo, verde, azul. ¿Cómo dibujo estos 4 colores encadenados en este picbox? o debo tener 4 picbox? en ese caso, ¿cómo puedo configurar el color rgb?

Tu pregunta es bastante vaga. ¿Quieres dibujar rectángulos en cada parte? Dibujar píxeles? ¿Qué? Dykam

Tu respuesta

3   la respuesta
2

Agregue un PictureBox al formulario, cree un controlador de eventos para el evento paint y haga que se vea así:

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

Esto dividirá la superficie en 4 rectángulos y pintará cada uno de ellos en los colores Blanco, Rojo, Verde y Azul.

0

Si desea usar colores no predefinidos, entonces necesita obtener un objeto Color del 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);
//...

Atentamente
Oliver Hanappi

8

Debe especificar qué es lo que le gustaría dibujar específicamente. No puedes dibujar un rojo, eso no tiene sentido. Sin embargo, puede dibujar un rectángulo rojo en la ubicación (0,0) que tiene 100 píxeles de alto y 100 de ancho. Sin embargo, responderé lo que pueda.

Si desea establecer el contorno de una forma en un color específico, debe crear unBolígrafo objeto. Sin embargo, si desea rellenar una forma con un color, debe utilizar un objeto Pincel. Aquí hay un ejemplo de cómo dibujarías un rectángulo lleno de rojo y un rectángulo delineado en 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));
}

Preguntas relacionadas