Working with high resolution photos

The Nokia Lumia 1020 is an iconic smartphone with a revolutionary camera that captures more of your moments. The new generation of oversampling PureView technology makes use of a 41 megapixel sensor to produce images with a previously unseen amount of detail. This article describes how to take advantage of the imaging capabilities in Nokia Lumia 1020 and in particular how to deal with the high resolution, 34 and 38 megapixel (at 16:9 and 4:3 aspect ratios respectively), photos captured by the revolutionary 41 megapixel camera sensor.

This article explains how you can, in your Windows Phone 8 application, use PhotoCaptureDevice API to capture high resolution photos, process the captured frames with Nokia Imaging SDK (such as to reframe the image or to compress into any desired size, 2MB / 5MP for saving to Photos media library, or maybe down to 500kb for sharing to Twitter…), and save and load photos to/from a hidden high resolution file for advanced imaging use cases, and a low resolution file for general viewing and sharing purposes.

Besides the full-resolution photos, the Nokia Lumia 1020 built-in camera offers optimised 5 megapixel photos of amazing quality. This is thanks to the reduced image noise, as up to seven pixels of the camera sensor are used to capture a single photo pixel (oversampling). Through this and other optimisations these photos should be more than sufficient for most use cases. While you can capture high resolution photos, keep in mind that you should only use this functionality where you truly need photos of extreme high resolution, and for other cases use the default high quality optimized 5MP photos. For those normal cases the easiest and recommended way to enable photo capturing is to integrate the build-in camera functionality into your application by using the CameraCaptureTask API about which you can read more about from ​How to use the camera capture task for Windows Phone (MSDN).

Please note that the code examples in this article attempt to point out only the meaningful parts of code. For this reason not all required using statements are displayed, namespaces are omitted, and "... " is used to indicate that you might want to have some application specific code there too.

Note: The provided code snippets are for Windows Phone Silverlight 8.1 projects, but the same rules apply also for Windows Phone Store apps using XAML.

For a fully functional code example see the project Photo Inspector from which the code excerpts in this article have been derived from.

Last updated 23 June 2014

Back to top