如何在Sivlerlight中使BitmapImage的所有白色像素都透明?
这是您使用常规位图所做的:
//Bitmap with a White background:
var bmp = new Bitmap(100, 100);
using (var g = Graphics.FromImage(bmp)){
g.Clear(Color.White);
g.DrawString("String", new Font(FontFamily.GenericSerif,10.0f), new SolidBrush(Color.Red), 30, 30);
}
//I want to make White transparent like Bitmap.MakeTransparent does:
bmp.MakeTransparent(Color.White);
在Silverlight中,我该如何做这样的事情?:
var bmp = new BitmapImage(new Uri("http://www.google.com/images/logos/ps_logo2.png"));
bmp.MakeTransparent(Color.White);
我是Silverlight的新手,但我希望将它绘制到画布或其他东西,所以它可以是一个Shader或类似的东西,如果需要的话。
答案 0 :(得分:2)
如果需要反复应用效果,着色器是完美的,但有更多选项:
对于着色器,请查看this wonderful tool Shazzam