Como converter Wpf BitmapSource para byte em c #

Duplicar Possível:
Imagem WPF para byte []

Em relação a isso, eu tenho uma imagem BitmapSource obtida pela captura de imagem da webcam.Como posso convertê-lo em byte [] em c #

Eu tenho solução

JpegBitmapEncoder encoder = new JpegBitmapEncoder(); //encoder.Frames.Add(BitmapFrame.Create(bitmapSource)); encoder.QualityLevel = 100; // byte[] bit = new byte[0]; using (MemoryStream stream = new MemoryStream()) { encoder.Frames.Add(BitmapFrame.Create(bitmapSource)); encoder.Save(stream); byte[] bit = stream.ToArray(); stream.Close(); } 

Você pode usar o método BitmapSource.CopyPixels para copiar os dados brutos para uma matriz de bytes. O parâmetro stride é o número de bytes em cada linha da imagem. Uma imagem RGBA de 100 pixels terá um passo de 100 * 4 = 400 bytes.

Verifique esta discussão de SO para o parâmetro stride e como ele se comporta para diferentes tipos de imagem