.net 用颜色覆盖可写位图

.net 用颜色覆盖可写位图,.net,silverlight,writeablebitmap,.net,Silverlight,Writeablebitmap,我试图在Silverlight中用某种颜色覆盖一个可写的位图。我有一个黑白的基础图像,我用它为一个新的合成图像创建更小的可写位图图像,我想在将源图像剪切部分的黑色或白色部分添加到合成图像之前,用某种颜色覆盖它 我现在做的是: var cutOut = new WriteableBitmap(8, 14); /* cut out the image here */ cutOut.Render(sourceImage, transform); // sourceImage is the ba

我试图在Silverlight中用某种颜色覆盖一个可写的位图。我有一个黑白的基础图像,我用它为一个新的合成图像创建更小的可写位图图像,我想在将源图像剪切部分的黑色或白色部分添加到合成图像之前,用某种颜色覆盖它

我现在做的是:

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
我在上尝试了这些方法,并使用了中的扩展方法hxxp://writeablebitmapex.codeplex.com/,但在将剪切图像渲染到compositeImage之前,我似乎无法在剪切图像上获得颜色覆盖

有人知道这样做的好方法吗


提前感谢。

只是一个简单的猜测,但是在执行WriteableBitmap.Render(…)之后,您是否尝试过使用WriteableBitmap.Invalidate()? 除此之外,您可能希望尝试将图像渲染为临时WriteableBitmap,然后使用WriteableBitmap.Pixels将临时图像复制到新位图。在新位图上,您应该能够执行图像操作

干杯,亚历克斯