通用Windows平台C#上的Exif标签#

时间:2015-10-12 18:50:18

标签: windows exif platform uwp universal

如何在UWP(通用Windows平台)/ Windows Phone 10上为jpeg图片添加标签。 WindowsBase和PresentationCore不可用。

1 个答案:

答案 0 :(得分:2)

以下是有关如何在Windows运行时将Artist exif标记写入jpeg图像的示例。

您可以在此网页中找到所有EXIF代码ID:

http://www.exiv2.org/tags.html

        var src = await KnownFolders
                        .PicturesLibrary
                        .GetFileAsync("210644575939381015.jpg");

        using (var stream = await src.OpenAsync(FileAccessMode.ReadWrite))
        {
            var decoder = await BitmapDecoder.CreateAsync(stream);

            var encoder = await BitmapEncoder.CreateForTranscodingAsync(stream, decoder);

            // var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, stream);

            var list = new List<KeyValuePair<string, BitmapTypedValue>>();

            var artist = new BitmapTypedValue("Hello World", Windows.Foundation.PropertyType.String);

            list.Add(new KeyValuePair<string, BitmapTypedValue>("/app1/ifd/exif/{ushort=315}", artist));

            await encoder.BitmapProperties.SetPropertiesAsync(list);

            await encoder.FlushAsync();

            await stream.FlushAsync();
        }