C# PictureBox Drawing: consejos eficientes para usar métodos independientes
En una aplicación de formularios C#, puede dibujar gráficos personalizados en el control de la caja de imágenes. Sin embargo, los usuarios pueden encontrar problemas al intentar hacerlo a través de un método separado.
pregunta:
El usuario puede querer crear un método para dibujar convenientemente círculos en la caja de imágenes, pero descubre que el método no produce los resultados esperados. El método de problema inicializa el mapa de bits, los objetos gráficos y los pinceles utilizados para dibujar círculos. Sin embargo, cuando se llama en el controlador de eventos de pintura de PictureBox, no puede dibujar el círculo correctamente.
Solución:
Para usar efectivamente un método separado para dibujar en PictureBox, asegúrese de saber si el objetivo es dibujar en la imagen que se muestra en PictureBox o directamente en el control en sí.
Método 1: dibujar directamente en el control
]]para dibujar directamente sobre el control (sin afectar la imagen), use el controlador de eventos de pintura de PictureBox, como se muestra a continuación:
private void pictureBox2_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawEllipse(Pens.Red, new Rectangle(3, 4, 44, 44));
}
En este caso, el dibujo es persistente, los gráficos están vinculados al control, siguiendo cualquier cambio de tamaño o movimiento del control.
Método 2: dibujar en la imagen
]para dibujar en una imagen que se muestra en PictureBox, cree un método separado y dibuje usando el objeto gráfico obtenido de la propiedad de imagen de PictureBox.
void drawIntoImage()
{
using (Graphics G = Graphics.FromImage(pictureBox1.Image))
{
G.DrawEllipse(Pens.Orange, new Rectangle(13, 14, 44, 44));
}
pictureBox1.Refresh();
}
Después de completar el dibujo, llame al método de refrescado () de cuadro de imágenes para actualizar la pantalla. En este caso, los gráficos son persistentes a la imagen y se ven afectados por cualquier escala o transformación de la imagen.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3