Public Shared Function ImageToByteArray(ByVal Img As Image, ByVal Format As ImageFormat) As Byte()
Dim MS As New MemoryStream
Img.Save(MS, Format)
Return MS.GetBuffer
End Function
Public Shared Function ByteArrayToImage(ByVal buffer() As Byte) As Image
Using MS As New MemoryStream(buffer)
Dim Img As Image = Image.FromStream(MS)
Return Img
End Using
End Function
Public Shared Function ImageToBase64String(ByVal img As Image, ByVal format As ImageFormat) As String
Return Convert.ToBase64String(ImageToByteArray(img, format))
End Function
Public Shared Function Base64StringToImage(ByVal imageString As String) As Image
Return ByteArrayToImage(Convert.FromBase64String(imageString))
End Function
Public Shared Function ImageToString(ByVal Picture As Image) As String
If Picture Is Nothing Then Return Nothing
Dim ReturnString As String = Nothing
Using MS As New MemoryStream
Picture.Save(MS, Imaging.ImageFormat.Jpeg)
MS.Flush()
MS.Position = 0
Dim buffer = MS.ToArray
ReturnString = Convert.ToBase64String(buffer)
End Using
Return ReturnString
End Function
Public Shared Function StringToImage(ByVal ImageEncodedString As String) As Image
If String.IsNullOrEmpty(ImageEncodedString) Then Return Nothing
Dim Img As Image = Nothing
Dim Buffer() As Byte = Convert.FromBase64String(ImageEncodedString)
Using MS As New MemoryStream
MS.Position = 0
MS.Write(Buffer, 0, Buffer.Length - 1)
Img = Image.FromStream(MS)
End Using
Return Img
End Function
Public Shared Function StringToImageStream(ByVal ImageEncodedString As String) As Stream
If String.IsNullOrEmpty(ImageEncodedString) Then Return Nothing
Dim buffer = Convert.FromBase64String(ImageEncodedString)
Dim ms = New MemoryStream(buffer)
ms.Position = 0
Return ms
End Function
Public Shared Function ImageToPixelFormat(ByVal Img As Bitmap, ByVal format As PixelFormat) As Image
Dim bmp As New Bitmap(Img.Width, Img.Height, format)
Using gr As Graphics = Graphics.FromImage(bmp)
gr.DrawImage(Img, 0, 0)
End Using
Return bmp
End Function
Public Shared Sub Screenshot() 'ByVal PictureBox As PictureBox
Dim ScreenSize As Size = New Size(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
Dim Grab As New Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
Dim Screen As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(Grab)
Screen.CopyFromScreen(New Point(0, 0), New Point(0, 0), ScreenSize)
Grab.Save(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\image.jpg")
'PictureBox.Image = Grab
End Sub>>>>
No comments:
Post a Comment