c# - 将图像数据转换为流

标签 c# windows-phone-8 stream converters exif

我正在尝试将图像数据转换为流以获取 ExifInfo/元数据

 MediaLibrary library = new MediaLibrary();
 Picture photoFromLibrary = library.GetPictureFromToken(queryStrings["FileId"]);

photoFromLibrary.GetImage(); 仅返回 ImageData

我需要它在我的方法中使用

public static void GetMetaData(Stream photo)
{
    ExifLib.JpegInfo info = ExifLib.ExifReader.ReadJpeg(photo);
    var img = new BitmapImage();
    img.SetSource(photo);
    App.MainViewModel.MetaDate = ReadExif(info);
}

ExifLib.ExifReader.ReadJpeg(photo); 需要一个流

所以我从 photoFromLibrary.GetImage(); 得到的是 ImageData,但我需要一个 stream。那么如何将 ImageData 转换为 stream 呢?

最佳答案

       I hope your are looking for this result.            


        var wb = new WriteableBitmap(ContentPanel, new TranslateTransform());

        using (var mediaLibrary = new MediaLibrary())
        {
            using (var stream = new MemoryStream())
            {
                var fileName = string.Format("{0}.jpg", DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss"));
                wb.SaveJpeg(stream, wb.PixelWidth, wb.PixelHeight, 0, quality);
                stream.Seek(0, SeekOrigin.Begin);
                var picture = mediaLibrary.SavePicture(fileName, stream);
            }
        }

关于c# - 将图像数据转换为流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27442142/

相关文章:

c# - DataContractSerialiser 和 Serializable 的问题

c# - 创建泛型类型的实例时无法提供参数

c# - 将网络浏览器音频设置为流式传输到媒体播放器,以便它可以在 Windows Phone 8 的后台使用

c# - 如何通过 Windows Phone 8 的 Web 浏览器传递自定义 header ?

css - Phonegap Windows Phone 8 字体抗锯齿

android - asmack 流错误(主机未知)

java - System.out 被声明为 static Final 并用 null 初始化?

c# - 升级到 VS2017 后找不到任何适合该文化或中立文化错误的资源

c# - c++和c#在栈溢出异常方面的区别

c# - 从封闭流中读取