BitmapImage与byte[]相互转换

byte[]转换为BitmapImage:

public static BitmapImage ByteArrayToBitmapImage(byte[] byteArray)
{
    BitmapImage bmp = null;

    try
    {
        bmp = new BitmapImage();
        bmp.BeginInit();
        bmp.StreamSource = new MemoryStream(byteArray);
        bmp.EndInit();
    }
    catch
    {
        bmp = null;
    }

    return bmp;
}

BitmapImage转换为byte[]:

public static byte[] BitmapImageToByteArray(BitmapImage bmp)
{
    byte[] byteArray = null;

    try
    {
        Stream sMarket = bmp.StreamSource;

        if (sMarket != null && sMarket.Length > 0)
        {
            //很重要,因为Position经常位于Stream的末尾,导致下面读取到的长度为0。
            sMarket.Position = 0;

            using (BinaryReader br = new BinaryReader(sMarket))
            {
                byteArray = br.ReadBytes((int)sMarket.Length);
            }
        }
    }
    catch
    {
        //other exception handling
    }

    return byteArray;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值