以编程方式更改.Net中的PNG / PSD图像颜色

时间:2012-01-16 11:58:06

标签: c# .net image-processing psd

我有许多网页控件,它们由png图像组成。最简单的是一个按钮。

我需要能够根据客户选择的颜色生成不同颜色的这些控件。

图像是.PSD文件,在导出到png之前分层。

我的想法是允许客户端选择一种颜色并在psd中使用图层过滤器来更改图像的整体颜色,并以编程方式将.PSD导出到服务器上的PNG。我通过COM调查使用Photoshop CS界面,但还没有理解它,有没有其他人用它来完成类似的任务?

或者我可以将png读入内存并执行颜色替换,但这对于读取简单(ish)任务的内容来说似乎非常复杂。

非常感谢提前

1 个答案:

答案 0 :(得分:2)

.PSD非常复杂,文档格式很差,不断收到Adobe的新功能,因此编辑它们绝非易事。

一种方法是使用Photoshop批处理,这意味着在服务器上安装了photoshop,但只要您希望通过COM实现,就不应该有问题。

其中一个起点可能是:http://www.webdesignerdepot.com/2008/11/photoshop-droplets-and-imagemagick/

另一种方法是使用c#尝试复合图层,这意味着您可以准备好一些图层(纹理/边框/等),有些图层将在运行时创建,所有这些图层将在运行时使用c#进行合并。