关于.NET下开源及商业图像处理(PSD)组件
来源:互联网 发布:菲律宾globe网络制式 编辑:程序博客网 时间:2024/05/16 07:41
【原创】关于.NET下开源及商业图像处理(PSD)组件
2我的博客其他文章链接:
【原创】.NET开源压缩组件介绍与入门
【原创翻译】C#开源轻量级对象数据库NDatabase介绍
【转载总结】关于泛型基类的相关知识
NewLife.Xcode组件资源目录
Newlife.XCode对象容器与接口操作实例
拥有自己的代码生成器—NewLife.XCode代码生成器分析
拥有自己的代码生成器—Newlife.XCode模板编写教程
1 前言
这篇博客的背景是:为了完成吉日嘎拉的“PSD文件损坏检测和图层检测”任务,查找了目前.NET各种开源的及商业的图像处理资料,在完成任务之后,进行总结。此次任务主要是用C#操作PSD(PhotoShop)文件,中文资料很少,主要的英文资料都在CodeProject网站。项目要求对用户上传的PSD文件进行检测,是否损坏,是否能正常打开,并判断是否只有1个图层。俗话说:“冰冻三尺非一日之寒”,这次找关于C#处理PSD的开源资料,真是“挖地三尺”,我也觉得这“非一日之力”就可以做到。平时关注技术,了解很多,找起来才快,也需要一点主动学习的能力。
2 .NET图像处理组件总结
说起图像处理,肯定很多人都知道博客园的xiaoite,用.NET做图像处理,很强大。由于图像处理的特殊性,可能很多人认为.NET做图像处理效率有问题,但xiaoite用实际证明了其实这都不是问题,大家可以去他的博客详细了解下。呵呵,我只是一个菜鸟,把别人现成的东西组合一下,会使用而已。那下面介绍一下,我找到的几个.NET图像处理组件(和PSD相关的)。
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其实也有很多不错的项目。
2.4 ImageGlue.NET
ImageGlue.NET是商业的图像处理组件,支持的格式列了一大堆:支持的格式。由于这个组件我很早就知道,但没用过,手上也有破解版,所以就试了一下,可以对PSD文件的损坏检测,但是对图层的判断一直出错,有时候是正确的,有时候是错误的,商业组件做成这样,一怒之下,抛弃它了,而且破解版也不太敢用,当时只是试试看好用不,然后把里面的一小段代码弄出来就可以了,没想到这货还调用了非托管的dll,代码没虽然有混淆,但命名空间足够的坑爹,对图像的一些基本处理应该还是不错的,关键是支持的格式全面。留个脚印,让大家以后也有个选择。
2.5 其他关于.NET操纵PSD的文章
其实我首先查到的还是codeproject上的一篇2006年发表的英文博客Yet Another PSD Parser。该作者也是为了完成一个PSD的项目,需要.NET操作PSD文件,而处于版权和许可证的原因,没有采用Adobe公司的SDK,而是自己开发了这套组件。这个组件也是作者Endogine项目(一个2D的图像游戏引擎)的一部分,但可惜的是这个组件好像没有完善,这篇文章也没有更新,有不少错误。
3.相关资源网址
http://psdplugin.codeplex.com/
http://www.codeproject.com/Articles/10768/Endogine-sprite-engine
http://www.codeproject.com/Articles/15905/Yet-Another-PSD-Parser
http://www.websupergoo.com/download.htm
PSD官方格式信息
http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
http://www.aurigma.com/docs/gm/Overview.htm
http://midimick.com/magicknet/magickDoc.html
http://www.codeproject.com/Articles/17852/ImageMagick-in-VB-NET
http://code.google.com/p/skimpt/
http://imagemagick.codeplex.com/releases/view/30302
编程爱好者,关注.NET软件开发,Matlab编程及网络技术
http://www.cnblogs.com/asxinyu/E-mail:1287263703@qq.com
- 关于.NET下开源及商业图像处理(PSD)组件
- 关于.NET下开源及商业图像处理(PSD)组件
- 图像处理控件Graphics Mill for .NET更新至v9.1.28,支持PSD
- 关于.net生成psd缩图的问题?
- 处理PSD等图像的Java工具类库
- C#.NET图像处理
- 关于PSD切图
- 关于matlab图像处理
- 关于图像处理
- 开源免费的.NET图像即时处理的组件ImageProcessor
- 开源免费的.NET图像即时处理的组件ImageProcessor
- 开源免费的.NET图像即时处理的组件ImageProcessor
- .net组件及控件
- 关于ASP.NET forms身份验证及管理员权限处理
- [VB.NET]VB 图像处理
- dNet图像处理组件学习总结
- OpenCV imgproc组件之 图像处理
- psd及psb文件读写
- Android开发过程中,使用镜像如何获得Root权限
- Linux Shell常用命令总结
- 4326 Reflections tzc
- 集合—增强for、可变参数、静态导入
- 为了革命 保护眼睛 !—— 眼科专家配置的色调
- 关于.NET下开源及商业图像处理(PSD)组件
- 模块-模块加载时参数设置
- EBS Form : 消息字典 fnd_message. (转)
- jquery获取父窗口的元素
- The project: sgcc which is referenced by the classpath, does not exist.
- 极点五笔快捷键切换
- 折半查找
- asp.net cookie的操作,写入、读取与操作
- 通过 配置公钥和私钥让Putty自动登陆服务器,但是putty 自动登陆 失败 Server refused our key