混合颜色替换
Posted
技术标签:
【中文标题】混合颜色替换【英文标题】:Blended color replacement 【发布时间】:2014-09-22 07:36:57 【问题描述】:我不确定这里的术语,所以我将举例说明。我有一个像这样的图标图像:
即具有单一色调以及黑白的 alpha 混合图像。我希望能够以编程方式对特定颜色进行颜色替换,但保留混合。
例如:
var blueCar = ColorReplace(redCar, Color.Blue);
生产:
你明白了!我想使用特定的目标颜色而不是像 Photoshop / Paint.NET 那样更改 HSL。
我将为此使用 C#,最好是 GDI+,但如有必要,我愿意使用其他免费库。
【问题讨论】:
这将是一个多步骤的过程。首先,您需要确定基本图标颜色,接下来您需要从图标中“取消混合”纯色。一旦你有了它,你就可以替换新颜色了。 基本颜色将始终相同 - 红色。这是我遇到问题的颜色替换。 【参考方案1】:我认为您必须逐个像素地更改图像,如CodeProject 所示,尽管这已经相当老了。 Sayse 为位图 here 创建了某种可能有用的扩展。
【讨论】:
扩展似乎是一对一的替换(例如#FF0000 到#0000FF),它不适用于源图像中不同深浅的红色)。我会查看 CodeProject 文章。以上是关于混合颜色替换的主要内容,如果未能解决你的问题,请参考以下文章