UWP: Как сделать фото со всеми метаданными, используя MediaCapture? - PullRequest
0 голосов
/ 29 ноября 2018

Теперь я делаю фотографию, используя MediaCapture.CapturePhotoToStorageFileAsync, но у меня нет метаданных exif.Я пытаюсь использовать класс SoftwareBitnmap, но получил только BitmapPropertySet только с данными о производителе и модели.

Мне нужны все метаданные, которые может поддерживать устройство, например, создание фотографии с помощью сборки Windows 10 в приложении Camera.

1 Ответ

0 голосов
/ 30 ноября 2018

Чтобы получить свойства, относящиеся к изображению, вам нужно вызвать GetImagePropertiesAsync .Возвращенный объект ImageProperties предоставляет элементы, которые содержат основные поля метаданных изображения.

Если вы хотите получить доступ к большему набору метаданных файла, вам необходимо использовать ImageProperties.RetrievePropertiesAsync метод.Пожалуйста, смотрите Метаданные изображения для получения дополнительной информации.

Ниже приведен простой пример кода:

FileOpenPicker fileOpenPicker = new FileOpenPicker();
fileOpenPicker.FileTypeFilter.Add(".jpg");
fileOpenPicker.FileTypeFilter.Add(".png");
fileOpenPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;

StorageFile imageFile = await fileOpenPicker.PickSingleFileAsync();
if (imageFile != null)
{
    ImageProperties props = await imageFile.Properties.GetImagePropertiesAsync();
    var requests = new System.Collections.Generic.List<string>();
    requests.Add("System.Photo.EXIFVersion");
    IDictionary<string, object> retrievedProps = await props.RetrievePropertiesAsync(requests);
    if (retrievedProps.ContainsKey("System.Photo.EXIFVersion"))
    {
        var exifVersion = (string)retrievedProps["System.Photo.EXIFVersion"];
    }
}

Обратите внимание:

Дляполный список свойств Windows, включая идентификаторы и тип для каждого свойства, см. Свойства Windows .

Некоторые свойства поддерживаются только для определенных файловых контейнеров и кодеков изображений.Список метаданных изображений, поддерживаемых для каждого типа изображений, см. В Политики метаданных фотографий .

Поскольку свойства, которые не поддерживаются, могут возвращать нулевое значение при получении, всегда проверяйте нулевое значение перед использованиемвозвращаемое значение метаданных.

...