WPF中的BitmapImage到Byte []

时间:2014-11-08 06:31:44

标签: wpf vb.net byte buffer bitmapimage

Private Function BufferFromImage(imageSource As BitmapImage) As Byte()
    If Not IsNothing(imageSource) Then
        Dim encoder As New BmpBitmapEncoder
        encoder.Frames.Add(BitmapFrame.Create(imageSource))

        Using ms As New MemoryStream
            encoder.Save(ms)
            Return ms.GetBuffer
        End Using
    End If

    Return Nothing
End Function

该功能需要很长的处理速度。  我想要一个更快的过程。我该怎么办?

(不是WindowsPhone。使用WPF VB.net)

1 个答案:

答案 0 :(得分:-2)

要转换为byte [],您可以使用MemoryStream:

byte[] data;
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bitmapImage));
using(MemoryStream ms = new MemoryStream())
 {
  encoder.Save(ms);
  data = ms.ToArray();
 }