WinRT用另一个替换BitmapImage中的颜色

时间:2013-06-13 13:34:31

标签: c# windows-runtime microsoft-metro .net-4.5

我一直在寻找以下内容:

  • 使用不同 Colour替换Bitmap中的Colour

经过一番阅读后,我认为可以使用WriteableBitmap来实现这一点。

我对Bitmap/Image处理没有任何线索,所以我不确定如何使用这个类来实现我的要求。

以下将不胜感激:

链接到有用的文章,这将给我足够的理解     开发自己的解决方案。

1 个答案:

答案 0 :(得分:0)

使用WriteableBitmapEx库。获取图片的像素数组,其中包含所有像素为Int32。使用

获取每个像素的RGB值
var c = inputPixels[i];
var a = (byte)(c >> 24);
var r = (byte)(c >> 16);
var g = (byte)(c >> 8);
var b = (byte)(c);

检查这是否是您想要的颜色。如果是,请使用新的argb字节值将该颜色更改为另一种颜色

resultPixels[i] = (a << 24) | 
                  (r << 16) | 
                  (g << 8) | 
                  b;

在这里的精彩教程中阅读有关图像处理的更多信息

PicFx – Windows Phone Picture Effects Application – Part 1

PicFx – Windows Phone Picture Effects Application – Part 2