2014-11-08 3 views
-1
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 

Эта функция требует большой скорости обработки. Мне нужен более быстрый процесс. Что мне делать?BitmapImage to Byte [] в WPF

(. Не WindowsPhone Б WPF VB.net)

+0

Вы хотите, чтобы получить только исходные данные пикселя, или делает он должен быть закодированным буфером, как сейчас? – Clemens

ответ

-2

Чтобы преобразовать байт [] Вы можете использовать MemoryStream:

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