×
Namespaces

Variants
Actions

(译)Nokia Imaging SDK — 图片拍摄、处理、镜头应用

From Nokia Developer Wiki
Jump to: navigation, search

本篇文章为翻译的 Nokia Imaging SDK 的英文文档,链接在本文底部

WP Metro Icon Multimedia.png
SignpostIcon XAML 40.png
WP Metro Icon WP8.png
Article Metadata

测试基于
SDK: Windows Phone 8.0 SDK, Nokia Imaging SDK Beta 1

兼容于
文章
段博琼 在 09 Oct 2013 创建
最后由 hamishwillee 在 17 Oct 2013 编辑


Contents

声明

为了方便不爱阅读英文文档的开发者快速上手“高像素拍照” 和 Nokia Imaging SDK 的使用,我翻译了其中的一些文档,
如果你英文水平比较好,建议直接浏览原文,因为我把有些原文档中的一些描述信息进行了简化。并且 nokia 提供的
四个示例工程并没有翻译,原文 和 代码 链接如下:

Camera Explorer:有关 Windows Phone8 中有关增强 Camera API 的使用。文章链接

Filter Effects:对拍摄的照片或者图片库中的照片应用 Nokia Imaging SDK 中的滤镜。文章链接

Filter Explorer:演示了对新拍摄图片或者现有图片的编辑功能,用户可以对图片使用很多滤镜。文章链接

Real-time Filter :这个 Demo 演示了使用 Nokia Imaging SDK 实时对摄像头捕获的图像,显示在 取景框中的 stream 应用滤镜效果。该应用不支持拍照。文章链接


简介

这部分包含几部分内容:图片捕获、编辑处理、镜头应用、保存分享上传。下面所指的高像素图片特指的是 使用 Nokia lumia 1020 的 4100万大尺寸传感器拍摄的 3800 和 3400像素的图片。

图片捕获

你有两种策略实现在你的应用中实现捕获相片的功能。

使用手机已有的捕获功能

当在你的应用中,捕获照片不是核心的功能,你可以考虑使用 Camera Capture Task 去拍照,而不是自己配合相机 APIs

直接绘制相机界面。详细查看 How to use the camera capture task for Windows Phone(MSDN)。也可以参考使用

了 CameraCaputreTask 的示例应用的代码 Filter Explorer。这种方式有几种好处:

—很小的工作量

—可靠一致的用户体验

—使用 CameraCaptureTask 所分配的内存不会算入你的应用占用的内存,从而减少你的应用的内存占用

—经过 PureView 处理过的非常高质量的 500万的照片(具有高像素传感器的设备上)


实现一个自定义的相机 UI

如果你想为照片捕获实现自己的相机 UI 和取景器来捕获相片(PhotoCaptureDevice),像Advanced Photo Capturing

中描述的 。这种方式你可以:

—全面的掌控

—能够实现你想要的拍照参数的调整

—避免临时使用的照片被保存到手机相册中

—直接在你的应用的 UI 中捕获照片而不是打开一个新的捕获页面

—能够获得原始的高像素图片(在高像素传感器的设备上)

无论如何都有一个权衡。而且有很多工作需要做,特别是捕获和处理高像素的图片。关于高像素的图片,你可能想要实现自己的拍照 UI,你不必拍摄高像素的相片去做额外的处理。你同样可以使用相机捕获的有很高质量的“低像素”的照片(比如500万超采样图片)。

无论如何你应该知道在 Nokia lumia 1020 上,如果你通过 PhotoCaptureDevice 捕获的500万的图片将会有很高的质量,但是不如 通过使用 CameraCaptureTask 捕获的相同尺寸的图片更好,因为本地相机会做很多额外的处理,不仅仅是超采样。另外,如果你使 用 PhotoCaptureDevice 捕获了一张最大分辨率的图片,这有一些方法来可以使用(详细请看 Capturing high resolution photos),但是你的照片经过调整尺寸后 不会像本地相机拍摄的相同尺寸的照片好,除非你很专业或者有很棒的算法。如果你想使用那种方法我们写了一些指导和一些示例 Working with high resolution photos.


处理和编辑 照片/图片

无论你是自己捕获的照片,从图片库选取的图片或者其他的来源的图片,并且想对它做一些事情,下面有一些编辑图片的方法。

为此 nokia 推荐你使用 Nokia Imaging SDK,这是一个在手机设备上高效处理图片数据的类库。包括的特性

包括编码、解码 JPEG 格式的图片,添加各种滤镜,剪切,旋转,调整尺寸。这个 SDK 提供超过 50 种的预置的专业滤镜,

具有很高的速度和性能。这个库经过了尽可能的优化,并且不需要解码整张图片来获取图片上的任何一部分数据。这意味着你可以

为高像素图片添加各种效果而不需要担心你的内存会泄露。

这是一种方便处理各种尺寸图片的方式,这里有一些使用 Nokia Imaging SDK 的特殊的技巧 processing (high resolution) photos.

除了优化缩放和裁剪,这个话题同时讨论了如何在设备上呈现高像素图片。


获取和保存照片/图片

从哪里获得图片,把图片保存到哪里,通常是 媒体库 和 本地存储里面,可以参考实例文档 How to use the photo chooser (MSDN) 和 Saving to the media library and the local folder (MSDN).

无论怎样,如果你想处理高像素的图片,在 Accessing and saving (high resolution) photos 中描述了一些规则和技巧。

其中格外建议图片的双保存,即把高像素的图片版本保存到本地存储里,把低像素的图片保存到媒体库。其他的指导包括:

—怎样使保存的两个版本图片保持关联

—怎样保持本地存储干净

—怎样通过使用富媒体扩展的编辑选择器来提供给用户一种简单的方式把用户从图片库导航到

你的应用程序,并且匹配获取之前保存的高像素原图。这也鼓励了用户打开你的应用来获取这些图片。

上述的很多实践(和在 Working with high resolution photos中描述的实践)是有效的,甚至

没有使用高像素图片。


把相片/图片分享到在线服务

How to use the share media task for Windows Phone (MDSN). 中提到了如何分享媒体文件。分享高像素图片 本质上和把图片保存到照片库是相同的,你需要把要分享的图片进行缩小,实际上如果你使用 ShareMediaTask 进行分享,它需要这张图片是位于图片库中的, 所以你需要首先把它保存在那。唯一的区别是(不是指特定的高像素图片)依赖于你要分享的服务,你可能会更积极的把图片进行压缩。在实际应用 中,像 Processing (high resolution) photos 中描述的,在 Nokia Imaging SDK 中只是简单的参数的更改。

创建一个镜头应用程序

Windows Phone 8引入了一个新的类的应用程序:镜头。用户可以从内置的摄像头应用程序通过提供一个取景器按钮

切换到另一个相机应用的用户体验。获取更多信息: Lenses for Windows Phone 8 (MSDN).把应用程序声明为一个

镜头选取器应用是非常简单的,像在 Advanced Photo Capturing 文章中进行了简明的描述。


照片可扩展性

扩展照相的体验正像 Photo extensibility for Windows Phone (MSDN) 中描述的。扩展性在你的应用

中不仅很有用,同时鼓励用户使用你的应用。在 Accessing and saving (high resolution) photos文章中描述

了如何集成为手机富媒体和照片编辑选择器应用。这个功能也集成到了示例应用程序 Photo Inspector中。

Advanced photo capturingWorking with high resolution photos


诺基亚 WiKi 原文链接http://developer.nokia.com/Resources/Library/Lumia/#!imaging.html

This page was last modified on 17 October 2013, at 03:30.
161 page views in the last 30 days.
×