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:
- PaintEventArgse, que es un parámetro de PaintEventHandler.
Vea también
Tareas
Cómo: Construir fuentes y familias de fuentes
Cómo: Dibujar texto en una ubicación especificada