【问题标题】:Programmatically change PNG / PSD image colour in .Net以编程方式更改 .Net 中的 PNG / PSD 图像颜色
【发布时间】:2012-01-16 11:58:06
【问题描述】:

我有许多由 png 图像组成的 web 控件。最简单的是一个按钮。

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

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

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

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

在此先感谢

【问题讨论】:

  • 图片描绘了什么?你能简单地在 GDI+ 中绘制它吗?
  • 这是 ASP.NET 应用程序还是 Windows 服务?
  • 这是一个 asp.net 应用程序。图像吃了只是控制。按钮、滑块、组合框。
  • @tuckerhome 通过 COM 从 ASP.NET/IIS 访问 Photoshop 是不可能的/稳健的。

标签: c# .net image-processing psd


【解决方案1】:

.PSD 是一种相当复杂且文档记录不佳的文件格式,它不断从 Adob​​e 接收新功能,因此编辑它们绝非易事。

一种方法是使用 Photoshop 批处理,也就是将 Photoshop 安装在服务器上,但只要您希望通过 COM 进行处理,应该没有问题。

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

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

【讨论】:

  • 吉德瑞斯。我将研究复合层,因为我认为液滴不适合我的情况。一旦我得到它的工作,我会回来并记录这个过程。谢谢
猜你喜欢
  • 1970-01-01
  • 2023-03-31
  • 2011-01-16
  • 2011-06-24
  • 1970-01-01
  • 2015-12-06
  • 2021-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多