×
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.
170 page views in the last 30 days.
×