c#wpf高质量图像到字节并返回

时间:2018-06-25 22:08:00

标签: c# wpf image sockets

因此,即时通讯通过套接字传输图像的源,为了做到这一点,我必须将其转换为byte []形式。我设法使用此功能来转换图像源。

    public static BitmapSource ConvertByteArrayToBitmapImage(Byte[] imageData)
    {
        using (MemoryStream ms = new MemoryStream(imageData))
        {
            var decoder = BitmapDecoder.Create(ms,
                BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad);
            return decoder.Frames[0];
        }
    }
    public static byte[] ConvertBitmapSourceToByteArray(ImageSource imageSource)
    {
        var image = imageSource as BitmapSource;
        byte[] data;
        BitmapEncoder encoder = new JpegBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(image));
        using (MemoryStream ms = new MemoryStream())
        {
            encoder.Save(ms);
            data = ms.ToArray();
        }
        return data;
    }

现在,我的难题是,将图像转换回原来的图像后,图像质量下降,所有原来透明的部分都变黑了。

提前感谢所有答案。

0 个答案:

没有答案