Compartir a través de


Cómo: Dibujar texto ajustado en un rectángulo

Actualización: noviembre 2007

Puede dibujar texto ajustado en un rectángulo utilizando el método sobrecargado DrawString de la clase Graphics que toma como parámetro Rectangle o RectangleF. También debe utilizar Brush y Font.

También puede dibujar texto ajustado en un rectángulo utilizando el método sobrecargado DrawText de TextRenderer que toma como parámetro Rectangle o TextFormatFlags. También debe utilizar Color y Font.

La ilustración siguiente muestra el resultado de un texto dibujado en el rectángulo mediante el método DrawString.

Para dibujar texto ajustado en un rectángulo con GDI+

  • Utilice el método sobrecargado DrawString, pasando el texto que desee, Rectangle o RectangleF, Font y Brush.

    Dim text1 As String = "Draw text in a rectangle by passing a RectF to the DrawString method."
    Dim font1 As New Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point)
    Try
        Dim rectF1 As New RectangleF(30, 10, 100, 122)
        e.Graphics.DrawString(text1, font1, Brushes.Blue, rectF1)
        e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rectF1))
    Finally
        font1.Dispose()
    End Try
    
    string text1 = "Draw text in a rectangle by passing a RectF to the DrawString method.";
    using (Font font1 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))
    {
        RectangleF rectF1 = new RectangleF(30, 10, 100, 122);
        e.Graphics.DrawString(text1, font1, Brushes.Blue, rectF1);
        e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rectF1));
    }
    

Para dibujar texto ajustado en un rectángulo con GDI

  • Utilice el valor de enumeración de TextFormatFlags para especificar el texto que se va a ajustar con el método sobrecargado DrawText, pasando el texto que desee, Rectangle, Font y Color.

    Dim text2 As String = _
        "Draw text in a rectangle by passing a RectF to the DrawString method."
    Dim font2 As New Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point)
    Try
        Dim rect2 As New Rectangle(30, 10, 100, 122)
    
        ' Specify the text is wrapped.
        Dim flags As TextFormatFlags = TextFormatFlags.WordBreak
        TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags)
        e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rect2))
    Finally
        font2.Dispose()
    End Try
    
    string text2 = "Draw text in a rectangle by passing a RectF to the DrawString method.";
    using (Font font2 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))
    {
        Rectangle rect2 = new Rectangle(30, 10, 100, 122);
    
        // Specify the text is wrapped.
        TextFormatFlags flags = TextFormatFlags.WordBreak;
        TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags);
        e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rect2));
    
    }
    

Compilar el código

Los ejemplos anteriores requieren:

Vea también

Tareas

Cómo: Dibujar texto con GDI

Cómo: Construir fuentes y familias de fuentes

Cómo: Dibujar texto en una ubicación especificada

Otros recursos

Utilizar fuentes y texto