Rubrik: Grafik und Font · Bilder und Icons | VB-Versionen: VB2005, VB2008, VB2010 | 03.10.11 |
Text in Grafik zeichnen Mit dieser Funktion lässt sich ein beliebiger Text in ein bestehendes Bild zeichnen. | ||
Autor: Dieter Otter | Bewertung: | Views: 11.324 |
www.tools4vb.de | System: WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit nachfolgendem Tipp lässt sich ein beliebiger Text in ein bestehendes Bild zeichnen. Als Rückgabewert erhält man ein neues Bitmap-Objekt, das das Originalbild, sowie den darzustellenden Text enthält.
Neben dem Text selbst lässt sich die Schrift, die Vordergrundfarbe, sowie die absolute Position des Textes festlegen.
Imports System.Drawing ...
''' <summary> ''' Zeichnet den Text in das übergebene Bild ''' </summary> ''' <param name="orgBitmap">Original-Bild</param> ''' <param name="Text">Text, der in die Grafik gezeichnet werden soll.</param> ''' <param name="Font">Font-Objekt für die Schriftart, Größe und Attribute des Textes</param> ''' <param name="ForeColor">Textfarbe</param> ''' <param name="Position">Position des Textes.</param> ''' <returns>Bitmap-Objekt mit dem geänderten Bild.</returns> ''' <remarks>Der Text kann auch Zeilenumbrüche enthalten.</remarks> Public Function ImageDrawText(ByVal orgBitmap As Image, ByVal Text As String, ByVal Font As Font, _ ByVal ForeColor As Color, ByVal Position As Point) As Image ' Schriftfarbe Dim BrushForeColor As SolidBrush = New SolidBrush(ForeColor) ' Neues Bitmap-Objekt erstellen Dim Bitmap As Bitmap = orgBitmap.Clone Using imgGraphics As Graphics = Graphics.FromImage(Bitmap) ' Text zeichnen imgGraphics.DrawString(Text, Font, BrushForeColor, Position) End Using ' Bitmap zurückgeben Return Bitmap End Function
Aufrufbeispiel:
Dim Text As String = "www.vbarchiv.net" ' Annahme: PictrueBox1 enthält das Originalbild ' Das neue Bild inkl. Text soll in PictureBox2 angezeigt werden PictureBox2.Image = ImageDrawText(PictureBox1.Image, Text, _ New Font("Verdana", 7, FontStyle.Regular, GraphicsUnit.Pixel), _ Color.Black, New Point(5, 115))