Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Al crear un Pen, puede proporcionar el ancho del lápiz como uno de los argumentos al constructor. También puede cambiar el ancho del lápiz con la Width propiedad de la Pen clase .
Una línea teórica tiene un ancho de 0. Cuando dibuja una línea que tiene un ancho de 1 píxel, los píxeles se centran en la línea teórica. Si dibuja una línea que tiene más de un píxel de ancho, los píxeles se centran en la línea teórica o aparecen a un lado de la línea teórica. Puede establecer la propiedad de alineación del lápiz de un Pen para determinar cómo se posicionarán los píxeles dibujados con ese lápiz en relación con las líneas teóricas.
Los valores Center, Outsety Inset que aparecen en los ejemplos de código siguientes son miembros de la PenAlignment enumeración.
En el ejemplo de código siguiente se dibuja una línea dos veces: una vez con un lápiz negro de ancho 1 y una vez con un lápiz verde de ancho 10.
Para variar el ancho de un lápiz
Establezca el valor de la Alignment propiedad Center en (valor predeterminado) para especificar que los píxeles dibujados con el lápiz verde se centrarán en la línea teórica. En la ilustración siguiente se muestra la línea resultante.
En el ejemplo de código siguiente se dibuja un rectángulo dos veces: una vez con un lápiz negro de ancho 1 y una vez con un lápiz verde de ancho 10.
Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1); Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10); greenPen.Alignment = PenAlignment.Center; // Draw the line with the wide green pen. e.Graphics.DrawLine(greenPen, 10, 100, 100, 50); // Draw the line with the thin black pen. e.Graphics.DrawLine(blackPen, 10, 100, 100, 50);
Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1) Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10) greenPen.Alignment = PenAlignment.Center ' Draw the line with the wide green pen. e.Graphics.DrawLine(greenPen, 10, 100, 100, 50) ' Draw the line with the thin black pen. e.Graphics.DrawLine(blackPen, 10, 100, 100, 50)
Para cambiar la alineación de un lápiz
Establezca el valor de la Alignment propiedad en Center para especificar que los píxeles dibujados con el lápiz verde se centrarán en el límite del rectángulo.
En la ilustración siguiente se muestra el rectángulo resultante:
Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1); Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10); greenPen.Alignment = PenAlignment.Center; // Draw the rectangle with the wide green pen. e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50); // Draw the rectangle with the thin black pen. e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50);
Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1) Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10) greenPen.Alignment = PenAlignment.Center ' Draw the rectangle with the wide green pen. e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50) ' Draw the rectangle with the thin black pen. e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50)
Para crear un lápiz insertado
Cambie la alineación del lápiz verde modificando la tercera instrucción del ejemplo de código anterior como se indica a continuación:
greenPen.Alignment = PenAlignment.Inset;
greenPen.Alignment = PenAlignment.Inset
Ahora los píxeles de la línea verde ancha aparecen en el interior del rectángulo, como se muestra en la ilustración siguiente:
Consulte también
.NET Desktop feedback