Я пытаюсь получить Exif из JPG и CR2 файлов.
var file1 = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Images/IMG_3163.JPG"));
var file2 = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Images/IMG_3163.CR2"));
await GetExifValues(file1);
await GetExifValues(file2);
public async Task GetExifValues(StorageFile file_)
{
ImageProperties props = await file_.Properties.GetImagePropertiesAsync();
var requests = new System.Collections.Generic.List<string>();
requests.Add("System.Photo.DateTaken");
requests.Add("System.Photo.FNumber");
requests.Add("System.Photo.ExposureTimeNumerator");
requests.Add("System.Photo.ExposureTimeDenominator");
requests.Add("System.Photo.ISOSpeed");
requests.Add("System.Photo.Orientation");
IDictionary<string, object> retrievedProps = await props.RetrievePropertiesAsync(requests);
Debug.WriteLine("Parsing Exif from: " + file_.Path.ToString());
if (retrievedProps.ContainsKey("System.Photo.DateTaken")) Debug.WriteLine("Exif_DateTaken: " + (DateTimeOffset)retrievedProps["System.Photo.DateTaken"]);
if (retrievedProps.ContainsKey("System.Photo.FNumber")) Debug.WriteLine("Exif_FNumber: " + (double)retrievedProps["System.Photo.FNumber"]);
if (retrievedProps.ContainsKey("System.Photo.ExposureTimeNumerator")) Debug.WriteLine("Exif_ExposureTimeNumerator: " + (uint)retrievedProps["System.Photo.ExposureTimeNumerator"]);
if (retrievedProps.ContainsKey("System.Photo.ExposureTimeDenominator")) Debug.WriteLine("Exif_ExposureTimeDenominator: " + (uint)retrievedProps["System.Photo.ExposureTimeDenominator"]);
if (retrievedProps.ContainsKey("System.Photo.ISOSpeed")) Debug.WriteLine("Exif_ISOSpeed: " + (ushort)retrievedProps["System.Photo.ISOSpeed"]);
if (retrievedProps.ContainsKey("System.Photo.Orientation")) Debug.WriteLine("Exif_Orientation: " + (ushort)retrievedProps["System.Photo.Orientation"]);
Debug.WriteLine("_______________________________");
}
При запуске на локальной машине все работает должным образом:
Parsing Exif from: C:\Data\SharedData\PhoneTools\AppxLayouts\72787847-7999-4ce9-8ad2-72f637364ff9VS.Debug_x86.smith\Images\IMG_3163.JPG
Exif_DateTaken: 6/19/2017 11:19:09 AM +03:00
Exif_FNumber: 2.8
Exif_ExposureTimeNumerator: 1
Exif_ExposureTimeDenominator: 250
Exif_ISOSpeed: 2000
Exif_Orientation: 1
_______________________________
Parsing Exif from: C:\Data\SharedData\PhoneTools\AppxLayouts\72787847-7999-4ce9-8ad2-72f637364ff9VS.Debug_x86.smith\Images\IMG_3163.CR2
Exif_DateTaken: 6/19/2017 11:19:09 AM +03:00
Exif_FNumber: 2.8
Exif_ExposureTimeNumerator: 1
Exif_ExposureTimeDenominator: 250
Exif_ISOSpeed: 2000
Exif_Orientation: 1
_______________________________
Но если это запустить на эмуляторе или телефоне, информация из файла CR2 не достается.
Parsing Exif from: C:\Data\SharedData\PhoneTools\AppxLayouts\72787847-7999-4ce9-8ad2-72f637364ff9VS.Debug_x86.smith\Images\IMG_3163.JPG
Exif_DateTaken: 6/19/2017 11:19:09 AM +03:00
Exif_FNumber: 2.8
Exif_ExposureTimeNumerator: 1
Exif_ExposureTimeDenominator: 250
Exif_ISOSpeed: 2000
Exif_Orientation: 1
_______________________________
Parsing Exif from: C:\Data\SharedData\PhoneTools\AppxLayouts\72787847-7999-4ce9-8ad2-72f637364ff9VS.Debug_x86.smith\Images\IMG_3163.CR2
...results should be here...
_______________________________
Таким образом, один и тот же код при отладке на локальной машине работает, на эмуляторе - нет. Что здесь не так?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите, есть ли способ сгенерировать GUID код, с фигурными скобками?
В документации сказано, что метод EditorWindowShow открывает окно EditorWindow
Я пишу программу, способную решать уравнения / системы с помощью этой библиотеки