[Windows Phone] BitmapImage を byte[] に変換する

画像データを POST する場合などは byte[] に変換する必要があります。
BitmapImage の拡張メソッドとして定義する場合。

static class ExteinsionMethod
{
    public static byte[] ConvertToBytes(this BitmapImage bitmapImage)
    {
        byte[] data = null;
        using (MemoryStream stream = new MemoryStream())
        {
            WriteableBitmap writeableBitmap = new WriteableBitmap(bitmapImage);
            writeableBitmap.SaveJpeg(stream, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 100);
            stream.Seek(0, SeekOrigin.Begin);
            data = stream.GetBuffer();
        }
        return data;
    }
}

使い方

byte[] data = bitmapImage.ConvertToBytes();


【参考】
Conversion of BitmapImage to Byte array(英語)


カテゴリー: Windows Phone タグ: , , パーマリンク