2010-03-09 44 views
3

我想用Silverlight中的某種顏色疊加一個WriteableBitmap。我有一個黑色和白色的基本圖像,我正在使用它爲一個新的合成圖像創建較小的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

只是一個快速的猜測,但你嘗試做WriteableBitmap.Render(...)後與WriteableBitmap.Invalidate()玩耍? 除此之外,您可能想要嘗試將圖像渲染爲臨時的WriteableBitmap,然後使用WriteableBitmap.Pixels將該臨時圖像複製到新的位圖上。在新的位圖上,您應該可以執行圖像操作。

乾杯,亞歷克斯