forsterm
Erfahrenes Mitglied
Hallo,
also ich verwende folgenden Code um einen Text auf ein Bild "zu schreiben":
das funktioniert auch wunderbar, nur hab ich da noch folgende Probleme, die ich nicht gelöst bekomme.
1. Wie kann ich berechnen wie viel Platz der Text benötigt?
Hintergrund: Es geht darum, dem Benutzer zu ermöglichen auszuwählen in welcher
Ecke er den Schriftzug haben möchte. Wenn es sich dabei nicht um die linke
obere Ecke handelt muss ich ja die Position ungefähr so berechen:
bmp.Width - 10 und bmp.Height - 10.
Deswegen muss ja wissen, wie die Dimensionen des Textes sind, damit er nicht abgeschnitten wird.
2. Wie kann ich die Schriftfarbe z.B durch einen String definieren?
Hintergrund: Der Benutzer soll auf einer anderen Form durch den ColorDialog eine
Farbe auswählen können, diese soll dann in einer XML Datei gespeichert werden und
dann in einer anderen Form, da wo der Code von oben steht wieder verwendet
werden.
Bin für alle Lösungsvorschläge offen.
mfg
forsterm
also ich verwende folgenden Code um einen Text auf ein Bild "zu schreiben":
Code:
Dim bmp As Bitmap = CreateScreenshot()
Dim grafik As Graphics
Dim schrift As New Font("Arial Black", 36)
Dim farbe As New SolidBrush(Color.Red)
Dim position As New Point(10, 10)
If CompKey(44) Then
On Error GoTo err
grafik = Graphics.FromImage(bmp)
grafik.DrawString("Hallo User!", schrift, farbe, position)
grafik.Dispose()
schrift.Dispose()
farbe.Dispose()
bmp.Save(screenshot_path & "\Screenshot_" & Format(Date.Now, "dd.MM.yyyy-HH.mm.ss") & ext, image_type)
bmp.Dispose()
Exit Sub
err:
MessageBox.Show("Fehler", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
End If
das funktioniert auch wunderbar, nur hab ich da noch folgende Probleme, die ich nicht gelöst bekomme.
1. Wie kann ich berechnen wie viel Platz der Text benötigt?
Hintergrund: Es geht darum, dem Benutzer zu ermöglichen auszuwählen in welcher
Ecke er den Schriftzug haben möchte. Wenn es sich dabei nicht um die linke
obere Ecke handelt muss ich ja die Position ungefähr so berechen:
bmp.Width - 10 und bmp.Height - 10.
Deswegen muss ja wissen, wie die Dimensionen des Textes sind, damit er nicht abgeschnitten wird.
2. Wie kann ich die Schriftfarbe z.B durch einen String definieren?
Hintergrund: Der Benutzer soll auf einer anderen Form durch den ColorDialog eine
Farbe auswählen können, diese soll dann in einer XML Datei gespeichert werden und
dann in einer anderen Form, da wo der Code von oben steht wieder verwendet
werden.
Bin für alle Lösungsvorschläge offen.

mfg
forsterm