23.01.2018 Views

MICROSOFT_PRESS_EBOOK_PROGRAMMING_WINDOWS_8_APPS_WITH_HTML_CSS_AND_JAVASCRIPT_PDF

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

var ImageProperties = {};<br />

function openHandler() {<br />

// Keep data in-scope across multiple asynchronous methods.<br />

var file = {};<br />

Helpers.getFileFromOpenPickerAsync().then(function (_file) {<br />

file = _file;<br />

return file.properties.getImagePropertiesAsync();<br />

}).then(function (imageProps) {<br />

ImageProperties = imageProps;<br />

var requests = [<br />

"System.Photo.ExposureTime",<br />

"System.Photo.FNumber"<br />

];<br />

// In seconds<br />

// F-stop values defined by EXIF spec<br />

}<br />

return ImageProperties.retrievePropertiesAsync(requests);<br />

}).done(function (retrievedProps) {<br />

// Format the properties into text to display in the UI.<br />

displayImageUI(file, getImagePropertiesForDisplay(retrievedProps));<br />

});<br />

function getImagePropertiesForDisplay(retrievedProps) {<br />

// If the specified property doesn't exist, its value will be null.<br />

var orientationText = Helpers.getOrientationString(ImageProperties.orientation);<br />

var exposureText = retrievedProps.lookup("System.Photo.ExposureTime") ?<br />

retrievedProps.lookup("System.Photo.ExposureTime") * 1000 + " ms" : "";<br />

var fNumberText = retrievedProps.lookup("System.Photo.FNumber") ?<br />

retrievedProps.lookup("System.Photo.FNumber").toFixed(1) : "";<br />

// Omitted: Code to convert ImageProperties.latitude and ImageProperties.longitude to<br />

// degrees, minutes, seconds, and direction<br />

}<br />

return {<br />

"title": ImageProperties.title,<br />

"keywords": ImageProperties.keywords, // array of strings<br />

"rating": ImageProperties.rating, // number<br />

"dateTaken": ImageProperties.dateTaken,<br />

"make": ImageProperties.cameraManufacturer,<br />

"model": ImageProperties.cameraModel,<br />

"orientation": orientationText,<br />

// Omitted: lat/long properties<br />

"exposure": exposureText,<br />

"fNumber": fNumberText<br />

};<br />

440

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!