我有两个位图,由不同的算法变体产生.我想通过从另一个中减去一个来创建第三个位图以显示差异.
怎么能在.NET中完成?我查看了Graphics类及其所有选项,包括ImageAttributes类,我有一个预感它涉及颜色矩阵或重映射表功能.
有没有人有一些示例代码的链接,或者可以指向正确的方向?谷歌搜索没有透露太多,除非我的谷歌今天失败了.
真正的问题是,你想表现出什么样的差异?如果您只需要操作RGB颜色值,我认为最好的方法是只扫描两个位图并使用GetPixel比较Color值,并使用SetPixel生成"差异"位图.也许您只想减去这些值并将其用作第三个位图的新Color值.或许你想要计算出光度并使用它.更好的是,如果您有三个用于比较的指标,请将每个指标分配给颜色的RG和B组件.我以前用这种方法进行分形着色.
还有其他方法,但有了这个方法,你只能受到想象力的限制.它可能不是最快的方法,但听起来并不像这种情况需要性能.