使用颜色覆盖 WriteableBitmap 的叠加层

3
我正在尝试在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个回答

1

只是一个猜测,你是否尝试过在执行WriteableBitmap.Render(...)之后使用WriteableBitmap.Invalidate()进行调整?除此之外,你可以尝试将图像渲染到临时的WriteableBitmap上,然后使用WriteableBitmap.Pixels将其复制到新的位图上。在这个新的位图上,你应该能够执行图像操作。

祝好,Alex


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接