3

重複の可能性:
WPFイメージからbyte []

これに関連して、Webカメラから画像をキャプチャして取得したBitmapSource画像があります。C#でbyte[]に変換するにはどうすればよいですか。

4

2 に答える 2

16

私は解決策を得ました

        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();               
        }
于 2012-06-18T14:37:38.123 に答える
2

BitmapSource.CopyPixelsメソッドを使用して、生データをバイト配列にコピーできます。strideパラメータは、各画像行のバイト数です。100ピクセル幅のRGBA画像は、100 * 4=400バイトのストライドを持ちます。

ストライドパラメータと、さまざまな画像タイプでの動作については、このSOの説明を確認してください

于 2012-06-18T14:20:19.370 に答える