c# - relleno - ¿Dibujando colores en una caja de imágenes?
como rellenar una figura en c# (3)
En C # tengo un cuadro de imagen. me gustaría dibujar 4 colores El valor predeterminado será blanco, rojo, verde, azul. ¿Cómo dibujo estos 4 colores en este picbox? o debería tener 4 picbox? en ese caso, ¿cómo configuro el color rgb?
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 pinta cada uno de ellos en los colores Blanco, Rojo, Verde y Azul.
Debe especificar qué es lo que le gustaría dibujar específicamente. No se puede 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 a un color específico, debe crear un objeto Pen . Sin embargo, si desea llenar una forma con un color, entonces usaría un objeto Brush. Aquí hay un ejemplo de cómo dibujarías un rectángulo relleno 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));
}
Si desea utilizar colores no predefinidos, debe 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