用颜色覆盖WriteableBitmap

时间:2010-03-09 10:45:11

标签: .net silverlight writeablebitmap

我正在尝试在Silverlight中覆盖具有特定颜色的WriteableBitmap。我有一个黑白基本图像,我正在使用它为新的合成图像创建较小的WriteableBitmap图像,我想在将源图像切出的黑色或白色部分与特定颜色重叠之后再将其添加到合成图像。

我现在正在做的是:

var cutOut = new WriteableBitmap(8, 14);
/*
    cut out the image here
*/
cutOut.Render(sourceImage, transform); // sourceImage is the base image
cutOutImage.Source = cutOut; // cutOutImage is an Image element in XAML

compositeImage.Render(cutOutImage, transform2); // compositeImage is the final WriteableBitmap that is shown on screen

我尝试使用http://blogs.silverarcade.com/silverlight-games-101/15/silverlight-blitting-and-blending-with-silverlights-writeablebitmap/上的方法并使用hxxp://writeablebitmapex.codeplex.com/中的扩展方法,但在将其渲染到compositeImage之前,我似乎无法在cutOut图像上获得颜色叠加。

有没有人知道这样做的好方法?

提前致谢。

1 个答案:

答案 0 :(得分:1)

只是一个快速的猜测,但你做过 WriteableBitmap.Render(...) WriteableBitmap.Invalidate() >? 除此之外,您可能希望尝试将图像渲染到临时的WriteableBitmap,然后使用WriteableBitmap.Pixels将该临时图像复制到新的位图上。在新的位图上,您应该能够执行图像处理。

干杯,亚历克斯