Salve a tutti. In un progettino, ho la necessità d'inserire più di una stringa in un immagine. Le stringhe da inserire compaiono al click del mouse sulla picturebox
Uso il metodo drawstring, così strutturato in modo semplice:
codice:
' (variabili globali)
Dim oldimage As String
Dim newimagew As String
Dim textx As String
Dim format As ImageFormat
Dim fontx As Font
Dim color As Color
Dim position As Point
' evento: picturebox1_click
Try
textx = Form1.ComboBox1.SelectedItem
fontx = New Font(Font.Bold, "22")
format = Imaging.ImageFormat.Jpeg
color = Drawing.Color.Red
image = System.Drawing.Image.FromFile(oldimage)
tmpsize.Height = image.Height
tmpsize.Width = image.Width
PictureBox1.Image = Bitmap.FromFile(oldimage)
Catch ex As Exception
MsgBox(ex.Message)
End Try
' evento:ListBox2_SelectedIndexChanged
Dim newbitmap As New System.Drawing.Bitmap(image, tmpsize)
Dim graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(newbitmap)
graphics.DrawString(textx, fontx, Brushes.Red, e.Location)
newbitmap.Save(newimagew, format)
graphics.Dispose()
newbitmap.Dispose()
PictureBox1.Image = Bitmap.FromFile(newimagew)
ComboBox1.SelectedItem = ComboBox1.SelectedItem + 1
Il codice per una sola immagine alla volta funziona benissimo, inserisce e salva la stringa proprio dove ho cliccato con il mouse, ma:
- Se voglio inserire una seconda stringa nella stessa immagine: Non funziona
Mi dà come errore: "Errore Generico GDI+"
Non so se sia rilevante come informazione, ma vi aggiungo che oldimage e newimagew hanno percorsi differenti. Prende l'immagine da una parte(oldimage) e crea la nuova modificata da un'altra parte(newimagew)
Qualche suggerimento da darmi? Grazie