我有一种情况,我想Bitmap
通过它用不同的颜色替换给定的颜色。我最初的计划是传入 aDictionary<Color, Color>
然后循环遍历所有像素,检查当前颜色是否在字典/地图中,然后在需要时替换。
但是,如果原始图像有任何 alpha,我想保留该 alpha。我对检查颜色是否在字典中忽略 alpha 分量的最佳方法感到困惑。
到目前为止,我想出的方法只是创建一个新RGBOnlyColor
类或类似的类并使用它而不是在我的字典中,并在查找之前Color
将我得到的颜色转换为这个。GetPixel
不过,这似乎有点矫枉过正,所以我想知道是否有什么我遗漏的东西可以让它变得更简单......
另一种选择是创建一个 ColorMap 类,这将是字典的简单扩展,在设置和检索时仅将 alpha 强制为已知值以确保它无关紧要......
那么任何人都可以帮助我解决这个问题的最佳方法是什么?总之,我想在图像中交换颜色,使 alpha 部分保持不变,但它比看起来更难...... :)