Cómo redondear los bordes en el control de la PictureBox. Quiero obtener ángulos como elipse, pero no sé cómo hacerlo. Yo uso C#. ¡Gracias!Bordes redondeados en la caja de imágenes C#
Respuesta
Sí, no hay problema, le puede dar un control de una forma arbitraria con su propiedad Región. Agregue una nueva clase a su proyecto y pegue el código que se muestra a continuación. Compilar. Coloque el nuevo control desde la parte superior de la caja de herramientas en su formulario.
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
class OvalPictureBox : PictureBox {
public OvalPictureBox() {
this.BackColor = Color.DarkGray;
}
protected override void OnResize(EventArgs e) {
base.OnResize(e);
using (var gp = new GraphicsPath()) {
gp.AddEllipse(new Rectangle(0, 0, this.Width-1, this.Height-1));
this.Region = new Region(gp);
}
}
}
redondo bordes como en la ronda esquinas?
Si a fin de comprobar http://social.msdn.microsoft.com/forums/en-US/winforms/thread/603084bb-1aae-45d1-84ae-8544386d58fd
Rectangle r = new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height);
System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
int d = 50;
gp.AddArc(r.X, r.Y, d, d, 180, 90);
gp.AddArc(r.X + r.Width - d, r.Y, d, d, 270, 90);
gp.AddArc(r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90);
gp.AddArc(r.X, r.Y + r.Height - d, d, d, 90, 90);
pictureBox1.Region = new Region(gp);
poniendo cuadro 1 imagen en el formulario y escribir el código También puede cambiar el número, menos al lado de la anchura y la altura para obtener mejor resultado
System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
gp.AddEllipse(0, 0, pictureBox1.Width - 3, pictureBox1.Height - 3);
Region rg = new Region(gp);
pictureBox1.Region = rg;
Gracias, esta es una gran solución para la cantidad de sintaxis necesaria. No he probado la cantidad de recursos que esto ofrece, pero me gusta lo que es por ahora. Además, buena foto: P – soulshined
Gracias Hans Pero también necesito una mirada suave. Hice algunas investigaciones sobre este tema, pero no pude encontrar una solución. Luego traté de hacerlo yo mismo y encontré la solución a continuación. Quizás alguien más lo necesite.
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
using (GraphicsPath gp = new GraphicsPath())
{
gp.AddEllipse(0, 0, this.Width - 1, this.Height - 1);
Region = new Region(gp);
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
e.Graphics.DrawEllipse(new Pen(new SolidBrush(this.BackColor), 1), 0, 0, this.Width - 1, this.Height - 1);
}
}
- 1. ¿Forma con bordes redondeados en C#?
- 2. CSS3 Bordes redondeados y punteados?
- 3. Sin bordes redondeados en IE en Bootstrap
- 4. C# formulario con borde personalizado y bordes redondeados
- 5. Entrada de texto del iPhone con bordes redondeados
- 6. Desbordamiento: oculto para bordes redondeados usando css3pie en IE8?
- 7. ¿Cómo hacer bordes redondeados en IE8 con CSS?
- 8. Crear una forma de rectángulo con solo dos bordes redondeados
- 9. C# Las imágenes redimensionadas tienen bordes negros
- 10. Imagen más grande para caber en la caja de imágenes
- 11. Bordes irregulares en las imágenes procesadas en Android
- 12. la caja de autocompletar
- 13. Rotación de una imagen sin la caja de herramientas de procesamiento de imágenes
- 14. Extracción de bordes punteados en
- 15. C/C++ caja de conmutadores en matrices de caracteres
- 16. CSS: campos de entrada de texto redondeados
- 17. C# - son parámetros dinámicos en caja
- 18. Cambie la caja, compruebe los rangos en C# 3.5
- 19. Mejores artículos para comenzar a aprender sobre la detección de bordes/reconocimiento de imágenes
- 20. Detección de bordes de imagen en iPhone usando Image Magick
- 21. Retire la transparencia en imágenes con C#
- 22. cómo obtener bordes redondeados en UITableViewCell de manera que el usuario pueda seleccionar el color de fondo de la celda? (Pero no se utiliza el modo AGRUPADOS)
- 23. ¿Cambiar la caja con caída?
- 24. referencia enum en la caja del interruptor
- 25. Aero Glass Bordes de Ventanas Emergentes en C#
- 26. Conversión de la caja de camello a la caja de subrayado en rubí
- 27. desactivando la sensibilidad de la caja en r
- 28. Detección de bordes y transparencia
- 29. ¿Cómo forzar la posición de los bordes en graphviz?
- 30. ggplot: eliminar líneas en los bordes de la cinta
Ahh, gracias por esto! Realmente da una imagen de las posibilidades que tienes cuando extiendes una clase. Y qué fácil es obtener un componente modificado en su caja de herramientas. :) – Arndroid