×
Namespaces

Variants
Actions

(译)Nokia Imaging SDK — 下载类库并添加到工程中

From Nokia Developer Wiki
Jump to: navigation, search

本文为翻译内容,原文链接在底部

WP Metro Icon Tools.png
WP Metro Icon WP8.png
Article Metadata

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

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


在使用 Nokia Imaging SDK 提供的方法前,必须把 SDK 的类库添加到项目中。两种添加的方法: 使用 Visual Studio NuGet package manager ,或者直接添加到工程的引用。更多信息:Download and add the libraries to the project.


Contents

类库文件

当你添加了 Nokia Imaging SDK 后,硬盘中的目录结构如下:

E79dceb3bcae3a354a.png


在Nokia.Graphics.Imaging 库中包含了 Nokia Imaging SDK 的核心方法:所有图片 的滤镜 和 JPEG 编码器和解码器。基础类库是一个 Windows Phone Runtime 库,并且可以在 托管代码和本地代码中使用。另一个类库,Nokia.Graphics.Imaging.Managed,包含了在使用 托管代码(C#)时简化类库使用的 helper 方法。Nokia.InteropServices.WindowsRuntime 类库只包含了一个只能在本地使用的 class。当使用 C# 进行开发时,所有的类库都需要被添加引用。

可以在目录结构中看到 Nokia.Graphics.Imaging和 Nokia.InteropServices.WindowsRuntime 库分别显示了两份。这是因为每个类库都有两个版本:一个用于模拟器的(x86 架构)和 另一个手机(ARM 架构)的版本。

同时注意到Nokia.Graphics.Imaging库伴有三个文件:一个 dll,一个 winmd,一个 xml 文件。当尝试为 Windows Phone 工程添加Nokia.Graphics.Imaging.dll 引用时 会导致一个程序集不兼容的冲突。这是正常的,因为 Visual Studio 希望开发者添加一个 winmd 的引用,而不是 dll。当提供了一个 winmd 文件时, Visual Studio 会找到关联的 dll。这种 情况同样适用于 Nokia.InteropServices.WindowsRuntime 类库。

Bf8c5464.png

这个 xml 文件为 Visual Studio IntelliSense auto-completion 提供数据和文档特性。

安装 SDK 和使用 NuGet 为工程添加类库

在 VS 中,更新你的 NuGet 到最新版本。 Tools menu(工具菜单) > Library Package Manager

(库程序包管理器)> Package Manager Console(程序包管理器控制台),在 VS 底部的控制台窗口中输入命令: NuGet Update -self

A334eae9598e29aa.png


在 VS 中,打开 NuGet 包管理器: Tools menu > Library Package Manager > Manage NuGet Packages for solution: Bec8ad01.png


在搜索框中输入“Nokia Imaging SDK”,点击显示项目的 install 按钮: 75ef4cda628.png

NuGet 将会把类库安装到工程中相应的目录中,但是安装还有一些手动的步骤需要完成。

当你添加了 Nokia Imaging SDK 引用到工程后,需要为目标处理器架构指定相应的版本: ARM 版本的类库部署到手机端, X86 架构的类库部署到模拟器中。

首先,这个“ALL CPU” 配置需要从工程中移除,只留下 “ARM” 和 “X86”。首先在 “生成”菜单 中选择 “配置管理器”: 875a454.png


在下拉列表中选择 “编辑”:

637510.jpg


移除 “Any CPU”,只留下 “ARM” 和 “X86”。保存项目,关闭 VS 并且重新打开,所有的类库文件都会 显示在 “引用” 中。此时工程就能成功的编译了。

不使用 NuGet 添加 SDK 、安装类库

首先下载并运行安装 SDK,然后添加引用到你的工程中。

和上面的方式一样,首先移除 “Any CPU”,只留下 “X86” 和 “ARM” 两个选项。

现在就可以添加 Nokia Imaging SDK 类库的引用了。首先为模拟器添加类库。 在工程浏览器中,右键单击“引用” 项,然后“添加引用”: Db8b443.png


然后点击 “浏览” 按钮:

498a67.jpg

然后导航到 Nokia Imaging SDK 类库的安装目录。选择 X86 目录,选择Nokia.Graphics.Imaging.winmd 文件 ,最后单击 “Add” 按钮。

注意:选择下面的文件 —NokiaImagingSDKLibs 目录中的Nokia.Graphics.Imaging.Managed.dll — ARM 目录下的Nokia.Graphics.Imaging.winmd 和 Nokia.InteropServices.WindowsRuntime.winmd

48a4025.png


9c9fd8.png

类库已经被添加到了工程中。如果你想使用模拟器部署,稍后 再使用手机开发,你现在可以开始开发 你的应用程序。

在编译和部署应用程序到手机之前,VS 需要知道在什么地方获取 WP 设备所需的 类库:选择 ARM 架构 的类库进行编译。这步需要在 VS 开发环境之外操作。使用记事本打开 project 文件(后缀名 .csproj)

409de141.png

找到下面这几行:

<HintPath>..\..\..\..\..\Program Files (x86)\Nokia\Nokia Imaging SDK\NokiaImagingSDKLibs\ARM\Nokia.Graphics.Imaging.winmd</HintPath>
<HintPath>..\..\..\..\..\Program Files (x86)\Nokia\Nokia Imaging SDK\NokiaImagingSDKLibs\ARM\Nokia.InteropServices.WindowsRuntime.winmd</HintPath>


在 HintPath 节点中 使用 $(Platform) 替换 ARM,像下面:

<HintPath>..\..\..\..\..\Program Files (x86)\Nokia\Nokia Imaging SDK\NokiaImagingSDKLibs\$(Platform)\Nokia.Graphics.Imaging.winmd</HintPath>
<HintPath>..\..\..\..\..\Program Files (x86)\Nokia\Nokia Imaging SDK\NokiaImagingSDKLibs\$(Platform)\Nokia.InteropServices.WindowsRuntime.winmd</HintPath>


保存文件,现在工程就能正确的部署到模拟器和手机上。


Nokia WiKi 原文链接http://developer.nokia.com/Resources/Library/Lumia/#!nokia-imaging-sdk/adding-libraries-to-the-project.html

Version Hint

Windows Phone: [[Category:Windows Phone]]
[[Category:Windows Phone 7.5]]
[[Category:Windows Phone 8]]

Nokia Asha: [[Category:Nokia Asha]]
[[Category:Nokia Asha Platform 1.0]]

Series 40: [[Category:Series 40]]
[[Category:Series 40 1st Edition]] [[Category:Series 40 2nd Edition]]
[[Category:Series 40 3rd Edition (initial release)]] [[Category:Series 40 3rd Edition FP1]] [[Category:Series 40 3rd Edition FP2]]
[[Category:Series 40 5th Edition (initial release)]] [[Category:Series 40 5th Edition FP1]]
[[Category:Series 40 6th Edition (initial release)]] [[Category:Series 40 6th Edition FP1]] [[Category:Series 40 Developer Platform 1.0]] [[Category:Series 40 Developer Platform 1.1]] [[Category:Series 40 Developer Platform 2.0]]

Symbian: [[Category:Symbian]]
[[Category:S60 1st Edition]] [[Category:S60 2nd Edition (initial release)]] [[Category:S60 2nd Edition FP1]] [[Category:S60 2nd Edition FP2]] [[Category:S60 2nd Edition FP3]]
[[Category:S60 3rd Edition (initial release)]] [[Category:S60 3rd Edition FP1]] [[Category:S60 3rd Edition FP2]]
[[Category:S60 5th Edition]]
[[Category:Symbian^3]] [[Category:Symbian Anna]] [[Category:Nokia Belle]]

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

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×