Ciso a tutti.
Ho bellamente copiato dalla rete questa funzione per trasformare un'immagine in un array di byte (mi serve per salvarla poi in sql server).
codice:
Public Shared Sub Image2Byte(ByVal NewImage As Image, ByRef ByteArr() As Byte)
Dim ImageStream As System.IO.MemoryStream
Try
ReDim ByteArr(0)
If NewImage IsNot Nothing Then
ImageStream = New System.IO.MemoryStream
NewImage.Save(ImageStream, System.Drawing.Imaging.ImageFormat.Jpeg)
ReDim ByteArr(CInt(ImageStream.Length - 1))
ImageStream.Position = 0
ImageStream.Read(ByteArr, 0, CInt(ImageStream.Length))
MsgBox(ByteArr.Length) ' DEBUG
End If
Catch ex As Exception
MsgBox(ex.Message) ' DEBUG
End Try
End sub
Tuttavia mi da "Errore generico GDI+" quando chiama il metodo
NewImage.Save(ImageStream, System.Drawing.Imaging.ImageFormat.Jpeg)
L'immagine è presa da un picturebox nel quale l'ho caricata da file e passata ad un membro di tipo Image di una classe.
Quando la classe chiama il suo metodo di salvataggio passa l'immagine alla funzione Image2Byte.
Avete qualche suggerimento?
Ciao