Using Nokia Imaging APIs in Your Windows Phone Applications

Introduction

One little known fact is that Nokia is the largest manufacturer of cameras (by virtue of being the largest manufacturers of mobile phones). The camera specifications of their latest phones would shame the best of camera manufacturers because of the high bar Nokia has set.

Since camera is considered one of the top most functionalities of mobile phones, Nokia has worked to provide an imaging APIs packaged in an SDK that provides a range of image manipulation tools, which can be used in Windows Phone applications.

These APIs have been built to work with a very low resource requirement on the devices, which makes working with imaging more efficient.

Key Features of the Nokia Imaging SDK

The key features of Nokia imaging SDK are as follows:

  • Provides helper APIs to make it easy to access camera functionality.
  • The APIs are available across all Windows Phone 8 devices.
  • The APIs are available in C#, VB as well as C++
  • Supports partial JPEG decoding, which enables fast previews, application of effects, rotation and high resolution image cropping
  • Various filters, effect and enhancements
  • Ability to create custom filters
  • Support for image cropping, resizing, rotation, and undo effects.

The Nokia Imaging SDK can be downloaded from http://www.nuget.org/packages/NokiaImagingSDK/.

If you have Visual Studio, you can install the SDK directly by running the following command in the Package Manager Console. (Install-Package NokiaImagingSDK). You will need an active solution open to be able to install the package.

To add the Nokia Imaging APIs library to your project, you need to add it from the package manager.

 

Hands On

Let us use the Nokia imaging APIs in a sample application.

Create a new Visual Studio project titled WPNokiaImagingDemo.

New Project
New Project

In Visual Studio, go to Tools -> Library Package Manager -> Package Manager Console.

Package Manager Console
Package Manager Console

Execute the command Install-Package NokiaImagingSDK.

One thing to note is that the Nokia Imaging APIs v1.0 do not support Any CPU as a project target. To work successfully, we need to change the project targets. Go to Build -> Configuration Manager.

Select Edit from Active Solution platform.

Configuration Manager
Configuration Manager

Remove the Any CPU as a platform. You can leave ARM and x86.

Now, the project is setup to use Nokia Imaging libraries.

Exploring the Nokia Imaging APIs

If you have installed the package only at the project level (and not with Administrator privileges), the Imaging APIs will be located at C:\Users\Vipul\Documents\visual studio 2013\Projects\<ProjectName>\packages\NokiaImagingSDK.1.0.272.0\lib\wp8

The contents of the library package is as under:

  • Nokia.Graphics.Imaging.Managed.dll – this library contains the helper methods to simplify the use of the Nokia.Graphics.Imaging.dll
  • Nokia.Graphics.Imaging.dll – this library contains the core functionality of the Nokia Imaging SDK:  all the image filters, as well as the JPEG encoder and decoder
  • Nokia.InteropServices.WindowsRuntime.dll – this library is for internal use only

The following screenshots reveal the vast number of classes/APIs available in the Nokia.Graphics.Imaging.dll.

classes/APIs available in the Nokia.Graphics.Imaging.dll

classes/APIs available in the Nokia.Graphics.Imaging.dll

classes/APIs available in the Nokia.Graphics.Imaging.dll

classes/APIs available in the Nokia.Graphics.Imaging.dll

The filters and effects in Nokia Imaging APIs can be used like any other class available in Windows Phone.

Summary

In this article, we were introduced to the Nokia Imaging SDK and the APIs. In upcoming articles, we will explore how to build applications on top of the Nokia Imaging APIs.

About the Author

Vipul Patel is a Program Manager currently working at Amazon Corporation. He has formerly worked at Microsoft in the Lync team and in the .NET team (in the Base Class libraries and the Debugging and Profiling team). He can be reached at vipul.patel@hotmail.com

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read