developing windows phone apps with the nokia imaging sdk
TRANSCRIPT
Nick Landry
Microsoft Senior Technical Evangelist, NY Metro
Nokia Developer Ambassador & Champion
@ActiveNick – www.AgeofMobility.com
Developing Windows Phone Apps
with the Nokia Imaging SDK
talk2me
Chicago – April 12, 2014
Who is ActiveNick?
• Senior Technical Evangelist – Microsoft, NY Metro Audience Team
• Nokia Developer Ambassador and Champion
• Former Microsoft MVP: 2005-2014 – Windows Phone Development
• Mobile Publisher – Big Bald Apps: http://www.bigbaldapps.com
• Speaker. Blogger. Author. Tweeter. Father. Gamer
• 20+ Years of Professional Experience
• Specialties:
• Mobile Development
• Location Intelligence & Geospatial Systems
• Data Visualization, HPC, Cloud
• Mobile Game Development
• Blog: www.AgeofMobility.com
• Twitter: @ActiveNick 2005-2014
Nokia Internal Use Only
MUSIC
WINDOWS PHONE USER EXPERIENCE HARDWARE DESIGN & ENGINEERING
IMAGING SENSORCORE
LUMIA DIFFERENTIATIONGet noticed from the crowd
LOCATION MUSICSENSORCORE
Agenda
Nokia Imaging SDK Building Advanced Imaging
Apps for Windows PhoneIntroduction to the Nokia Imaging SDK
What is the Nokia Imaging SDK?
• Includes more than 50 ready to use image processing filters
and effects, with various adjustment parameters
• Supports creation of totally custom filters
• Accessible from managed and native code
• Supports various source types: bitmaps, streams, files and
camera viewfinder
• Partial JPEG decoding - using RAJPEG technology, access
image data without decoding a whole JPEG image for a fast
previews, application of effects, rotation, and cropping of high
resolution images
Cool apps using the SDK
Pikura
Real-time camera
filters
One Shot Gigapixel image browser
(wiki article)
Zooming in a
400MP image
Image filters
NOKIA IMAGING SDKMakes imaging magic
Easy to use, 50+ filters, 1,500+ apps
1.0JUL 2013
Performance enhancements, Lens blur, HDR, Foreground picker
1.1FEB 2014
Easy GIF creation, Local image blend, Even
more performance enhancements
1.2APR 2014
BETA
WHAT’S NEW IN THE 1.2 (BETA) VERSION?
Blend Filter Target Area
Image Aligner
Animated GIF renderer
Low memory custom
effects
Supports Windows Phone 8.1
Extends Windows 8.1 support to include x64 configuration
Overview of
Image Filters &
Effects
List of Filters and Effects IAntique
Auto Enhance
Auto Levels
Blend
Blur
Brightness
Cartoon
Color Adjust
Color Boost
Colorization
Color Swap
Contrast
Crop
Curves
Despeckle
Emboss
Exposure
Flip
List of Filters and Effects IIFog
Foundation
Frame
Free Rotation
Grayscale
Grayscale Negative
Hue Saturation
Image Fusion
Levels
Local Boost
Lomo
Magic Pen
Milky
Mirror
Mono Color
Moonlight
Negative
Noise
List of Filters and Effects IIIOily
Paint
Posterize
Sepia
Sharpness
Sketch
Solarize
Split Tone
Spotlight
Stamp
Step Rotation
Temperature and Tint
Vignetting
Warp
Watercolor
White Balance
ChromaKey
ChromaKey Filter adds transparency to the pixels of a specific color
ChromaKey
Blend modes
Blend mode:
Color Burn
Blend mode:
ColorBlend mode:
Add
1st image 2nd image
HDR Effect
Library contains three architectural building blocks:• Image sources (such as bitmaps, streams, files)• Effects (built-in or custom)• Renderers (outputs bitmaps or files)
Combining these building blocks, developer creates rendering pipeline
Once pipeline is created, it is possible to change filter parameters, or their sequence.
IMAGE SOURCE
FILTER EFFECTS
CARTOON
FILTER
FOG FILTER
…
RENDERER
GENERAL ARCHITECTURE OVERVIEW
Full details in Lumia Developer Library
http://developer.nokia.com/resources/library/Lumia/
General Overview of Required Steps
• Step 1: Include Nokia Imaging SDK Libraries into your project
• Step 2: Prepare source image: uncompressed image as WriteableBitmap,
AudioVideoCaptureDevice or compressed image as IBuffer, StorageFile
• Step 3: Create image source as instance of IImageSource
• Step 4: Instantiate and configure one or more effects, chained together
• Step 5: Create renderer with associated effect chain and target output
• Step 6: Use asynchronous methods RenderAsync in order to generate output
• Remember: official documentation is part of the Lumia Developer Library
http://developer.nokia.com/resources/library/Lumia/nokia-imaging-sdk.html
Nokia Imaging SDK Libraries
• Installable via NuGet Package Manager
• Make sure that in the Project’s Configuration
Manager, there will remain only X86 and ARM
platforms. “Any CPU” and “x64” platforms should
be removed
• Remember: Nokia Imaging SDK library is going to
be included into your final XAP file
DEMOHands-On:
Taking the SDK into
use, Applying filters
Interactive Foreground Segmenter
Lens Blur
DEMOHands-On:
Interactive Foreground
Segmenter & Lens Blur
DEMOHands-On:
Interactive Foreground
Segmenter & Lens Blur
ANIMATED GIF RENDERER
IMAGE ALIGNER
• Create an outstanding imaging app
• Win a trip to experience zero gravity
• developer.nokia.com/imagin8
Nokia Imaging SDK Reference Links
• Installation instructions on NuGet
• http://www.nuget.org/packages/NokiaImagingSDK
• Documentation and Samples
• http://developer.nokia.com/lumia/nokia-apis/imaging
• Lumia App Labs: Working with high resolution images in Windows Phone 8
• http://developer.nokia.com/lumia/lumia-app-labs#ep14
• Download Sample Nokia Developer Apps on your Windows Phone
• Apps built with various Nokia APIs
• Source code available on Nokia’s Developer Center
• http://www.windowsphone.com/en-US/store/publishers?
publisherId=Nokia%2BDeveloper (search the App Store for “Nokia Developer”)
//build/ Sessions: Nokia Imaging SDK
• Extend your Windows Apps with Nokia SDKs
• http://channel9.msdn.com/Events/Build/2014/2-659
• All //build/ 2014 sessions available online:
• http://channel9.msdn.com/events/build/2014
Next Steps…
Get Ready to Become a Windows Phone Developer
Download the SDK at dev.windowsphone.com
Explore the Microsoft samples and start building apps in Visual Studio
Learn More About Windows Phone Dev via Official Microsoft Videos
Windows Phone 8 Jump Start Training: http://bit.ly/wp8jump
Windows Phone 8 Dev for Absolute Beginners: http://bit.ly/wp8devAB
Check Out Additional Learning Resources
Pluralsight WP Training: www.pluralsight.com/training/Courses#windows-phone
Nokia Developer: www.developer.nokia.com
Download Additional Resources & Become an Expert
Download the Windows Phone Toolkit: phone.codeplex.com
Nokia Developer Offers: http://bit.ly/nokiadevoffers
32
1
2
3
4
Windows Phone Resources
• Nick Landry’s Blog: www.AgeofMobility.com
• Nick Landry’s Getting Started Resources: www.ageofmobility.com/?page_id=961
• Windows Phone Developer Blog: blogs.windows.com/windows_phone/b/wpdev
• Windows Phone Consumer Blog: blogs.windows.com/windows_phone/b/windowsphone
• Nokia WP Wiki: www.developer.nokia.com/Community/Wiki/Category:Windows_Phone
• Nokia Dvlup Challenges & Rewards: www.dvlup.com
• Nokia Conversations Blog: http://conversations.nokia.com
• Microsoft App Studio: http://apps.windowsstore.com
• Windows Phone Developer Magazine (online via Flipboard): http://flip.it/95YFG
• GeekChamp (WP & Win8 dev): www.geekchamp.com
• Windows Phone Central (News): www.wpcentral.com
Thank You!
Slides and demos will be posted on SlideShare (see link below)
Let me know how you liked this session. Your feedback is important and appreciated.
Slideshare: www.slideshare.net/ActiveNick
Blog: www.AgeofMobility.com
Twitter: @ActiveNick
Mobile Apps: www.bigbaldapps.com
LinkedIn: www.linkedin.com/in/activenick
Website: www.mobility42.com
Email: [email protected]