【转载】关于.NET下开源及商业图像处理(PSD)组件

原创】关于.NET下开源及商业图像处理(PSD)组件

 

       本博客全部文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.htmlweb

本博客其余.NET开源项目文章目录:http://www.cnblogs.com/asxinyu/p/4329755.htmlapp

1 前言

这篇博客的背景是:为了完成吉日嘎拉的“PSD文件损坏检测和图层检测”任务,查找了目前.NET各类开源的及商业的图像处理资料,在完成任务以后,进行总结。这次任务主要是用C#操做PSD(PhotoShop)文件,中文资料不多,主要的英文资料都在CodeProject网站。项目要求对用户上传的PSD文件进行检测,是否损坏,是否能正常打开,并判断是否只有1个图层。俗话说:“冰冻三尺非一日之寒”,此次找关于C#处理PSD的开源资料,真是“挖地三尺”,我也以为这“非一日之力”就能够作到。平时关注技术,了解不少,找起来才快,也须要一点主动学习的能力。工具

2 .NET图像处理组件总结

提及图像处理,确定不少人都知道博客园的xiaoite,用.NET作图像处理,很强大。因为图像处理的特殊性,可能不少人认为.NET作图像处理效率有问题,但xiaoite用实际证实了其实这都不是问题,你们能够去他的博客详细了解下。呵呵,我只是一个菜鸟,把别人现成的东西组合一下,会使用而已。那下面介绍一下,我找到的几个.NET图像处理组件(和PSD相关的)。post

2.1 Paint.NET

.NET下的图像处理开源项目,最有名的应该是Paint.NET,小巧,灵活,足够强大,相比笨重收费的PhotoShop,这真是一个不错的选择。虽然该项目源代码如今不开放了,但软件使用仍然是免费的。昨天看了一下他的dll,没有混淆,有精力的能够去反编译看看。个人解决办法也是从这个项目找到的答案。Paint.NET的源代码3.1版本的应该还能够在网上找获得,另外Paint.NET也有不少插件,好比Paint.NET_PSD_Plugin,就能够用插件来加载PSD文件,并转换为Paint.NET的格式。前几天,给一个朋友PS2张简单的图片,用的就是Paint.NET,操做和PhotoShop差很少,界面很清爽,功能足够强大吧,推荐一下。学习

2.2 Imagemagick.NET

Imagemagick.NET是用C#对开源的Imagemagick图像处理组件的进行了一个封装。里面的代码大部分都是C++/CLI,能力有限,没有深刻研究。看了一下说明,支持的格式不少,但对PSD文件的图层和文件损坏检测也没有现成的,不过,这个项目的确很值得学习,有机会研究下 C++/CLI,对图像处理应该有很大帮助。Imagemagick支持的语言和平台都很普遍,值得一看。网站

2.3 Skimpt

Skimpt其实这个组件之前没看到过,是一个.NET下开源的屏幕截图软件。它的大部分代码我没仔细看,只发现它支持PSD文件,因此就主要看了看PSD操做的部分,相对不错,PSD代码部分也是借鉴了CodeProject上面的几篇文章。都很类似,不过都修改了很多错误,这个其实还不错,勉强能够正确判断图层,可是对PSD文件的损坏检测不了,它只是直接读取文件的头信息,并不去检验数据的正确性。若是有作屏幕截图之类的工具,这是一个不错的参考。虽然没用里面的代码,但也发现Google Code其实也有不少不错的项目。google

2.4 ImageGlue.NET 

ImageGlue.NET是商业的图像处理组件,支持的格式列了一大堆:支持的格式。因为这个组件我很早就知道,但没用过,手上也有破解版,因此就试了一下,能够对PSD文件的损坏检测,可是对图层的判断一直出错,有时候是正确的,有时候是错误的,商业组件作成这样,一怒之下,抛弃它了,并且破解版也不太敢用,当时只是试试看好用不,而后把里面的一小段代码弄出来就能够了,没想到这货还调用了非托管的dll,代码没虽然有混淆,但命名空间足够的坑爹,对图像的一些基本处理应该仍是不错的,关键是支持的格式全面。留个脚印,让你们之后也有个选择。url

2.5 其余关于.NET操纵PSD的文章

其实我首先查到的仍是codeproject上的一篇2006年发表的英文博客Yet Another PSD Parser。该做者也是为了完成一个PSD的项目,须要.NET操做PSD文件,而处于版权和许可证的缘由,没有采用Adobe公司的SDK,而是本身开发了这套组件。这个组件也是做者Endogine项目(一个2D的图像游戏引擎)的一部分,但惋惜的是这个组件好像没有完善,这篇文章也没有更新,有很多错误。.net



若是您以为阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写做动力!欢迎各位转载,可是未经做者本人赞成,转载文章以后必须在文章页面明显位置给出做者和原文链接,不然保留追究法律责任的权利。
相关文章
相关标签/搜索