Nokia Imaging SDK

1 篇文章 0 订阅
1 篇文章 0 订阅

昨晚老大让祖哥交给我一个任务- - 去研究一下Nokia Imaging Sdk...

这个就有一段渊源了……(艹

诺基亚在2012年7月24日收购了一家瑞典德隆(Lund)的公司,名叫Scalado,听起来很吊的样子。这个公司主要给一些图像公司做支持,做codec,并且自己有许多专利。其中一个叫做 RAJPEG(random access jpeg),主要就是通过维护SPMO使得整个图片被分解成许多块,方便操作,在使用滤镜的时候可以在不解码其他不需要的块的时候更高效地操作所需区域。并且号称能减少20倍内存消耗,图像处理速度增加10倍(这么碉堡的效率我们随便“哇”一下就行了)。大家有兴趣的话可以去Scalado的网站看一下E文,FYI。

今天我想写的就是一些自己总结粗来的干货,如果能帮助到大家那最好。

 

1. License问题

First of all, 如果你要做一个很碉堡的应用准备和各大手机厂商合作,这个sdk是不能随便乱用滴。

一  〉在License里明确规定不能在非Nokia手机中内置或预装使用此sdk的软件。

二 〉 你的软件只能出现在Nokia手机的Nokia 精选(collection)中,不能被别的品牌手机推广。

三 〉 这个松一点,就是在Nokia手机上,你的软件的功能至少要和在其他品牌手机上的功能一样,当然,多了最好~

四 〉 小Tip,在你的软件里得加上几句话表示你用了Nokia Imaging Sdk的技术,还有copyright啥的,大家可以去看License Agreement

 

2.安装

Step 1:添加DLL

这个有两种方法~

第一种 〉从Nokia Imaging Sdk中下载msi安装文件,然后安装。装完之后要用了是不,新建一个项目或者打开你原来的wp项目,添加引用,放心这里找不到的,我们得“浏览”一下,然后找到系统盘的ProgramFiles(x86)->Nokia->NokiaInagingsdk->NokiaImagingsdklibs

先把那个啥啥啥managed.dll添加进来,然后再浏览到ARM里找到两个winmd文件(功能类似于dll但是能起到跨语言的功能,微软推荐使用),添加进去!

第二种 〉点击工具->库程序包管理器->管理解决方案的nuget程序包->搜索nokia imaging sdk->安装,然后dll就进去了。这个要注意的是你的nuget版本必须>=2.5 还有一点要提的,有的朋友在安装之后,dll里只添加了一个managed.dll(其实应该是三个嘛),不要急,先往下配置。

 

Step 2:现在要设置一下项目的配置。点击生成->配置管理器,然后赫然看到一个Any Cpu出现在右上角的下拉框里。拉它,选择编辑,选择AnyCpu,选择移除!完事!

 

Step 3:根据Nokia官方的文档呢,得去该csproj文件,然后各种倒腾,不过前几天在开发者论坛里有一位大神名叫 PedroQ发明(- -?)了一种新方法:重启Visual Studio. 完事= =  而且重启之后,在Step1的第二种方法中没有添加进去的dll也进去了!Kudos PedroQ~!

 

3.使用

好了现在应该可以使用了(还不能的话God Bless U)。那要怎么使用呢?

Step 1:创建EditingSession

EditingSession es = await EditingSessionFactory.CreateEditingSessionAsync(Stream)

或者es = new EditingSession()啥的,大家都能搞定。

 

Step 2:添加Filter

其实这个Sdk里的滤镜是比较碉堡的,一共有52种。可以用这种方法添加:

es.AddFilter(FilterFactory.CreateCropFilter(new Rect(300, 300, 500, 500)));

FilterFactory里有各种滤镜,大家尽情玩~ 也可以去看看Nokia的示例 还有一个FilterGroup大家也可以玩玩

 

Step 3:保存到

可以保存到一个Image空间,保存到JPEG文件,保存到writeablebitmap等等,大家只要

es.RenderTo。。。就会粗来啦

 

另外说一下我自己用这个sdk的感受。其实我们Team本来是因为writeablebitmapex这个库有一些性能缺陷,想找一个alternation,就研究了一下Nokia imaging sdk。

但是在写了几个demo之后发现,虽然在内存消耗方面有所减少,但是耗时增加而且图片的质量其实不算太高。这个在读取项目里的资源时没有明显差别,但是当拍摄照片的时候,一般ex的消耗是sdk的2-3倍。我又进行了一些crop和resize的操作,也是同样的问题,图片质量不高。

当然有可能是我测试或设置的方法不对。如果大家有什么意见建议的话,尽情斧正!谢谢!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值