Saludos al foro!
Estoy programando (aficionado) en c# con VS2008 en un winform.
Quisiera pedir vuestra ayuda, pues estoy atascado en lo siguiente:
He creado una clase que dibuja cuatro líneas que no se tocan en las esquinas, así formo un rectángulo (SIN ESQUINAS); ahora quiero dibujar cuatro arcos una en cada esquina, pero no me aclaro con esto último, ¿podríais echarme una manita por favor?
ESTO ES LO QUE TENGO HECHO:
protected override void OnPaint( PaintEventArgs e )
{
System.Drawing.Graphics areaToPaint = this.CreateGraphics();
System.Drawing.Pen myPen = new System.Drawing.Pen( System.Drawing.Color.MediumSlateBlue );
System.Drawing.Rectangle myRect = new System.Drawing.Rectangle( 50, 50, 500, 100 );
ExtensionesGraficas.RectRoundCorner( areaToPaint, myPen, myRect, 8 );
}
public static void RectRoundCorner( this Graphics g, Pen pen, Rectangle rect, int radio )
{
g.DrawLine( pen, rect.Left + radio, rect.Top, rect.Right - radio, rect.Top );
g.DrawLine( pen, rect.Left + radio, rect.Bottom, rect.Right - radio, rect.Bottom );
g.DrawLine( pen, rect.Left, rect.Top + radio, rect.Left, rect.Bottom - radio );
g.DrawLine( pen, rect.Right, rect.Top + radio, rect.Right, rect.Bottom - radio );
//(aquí tengo que dibujar las cuatro esquinas)
}
Espero haberme expresado con claridad y se entienda el código. Si me podéis orientar os lo agradezco de antemano,
LMiguel
------------
Como podéis ver en el adjunto ya lo he conseguido. Solo se requería pasar a Draw.Arc las coordenadas del vértice, y la anchura y altura, del cuadrado imaginario en cuyo interior se dibuja la circunferencia de la cual estamos pintando un arco.