图像效果(也称为滤镜效果)是应用于像素数据的图形转换。饱和度,色相旋转和高斯模糊是一些常见的图像效果。图像效果可以链接在一起,以最小的努力产生精致的视觉外观。
要将图像效果应用于文本和形状,需要首先将该内容渲染到 CanvasCommandList中。该对象可用作您效果的输入。
当您绘制到命令列表的绘制会话(clds)时,您没有直接渲染到CanvasControl。相反,命令列表是一个中间对象,用于存储渲染结果供以后使用。
private void canvasControl_Draw(Microsoft.Graphics.Canvas.UI.Xaml.CanvasControl sender, Microsoft.Graphics.Canvas.UI.Xaml.CanvasDrawEventArgs args)
{
CanvasCommandList cl = new CanvasCommandList(sender);//绘制命令列表
using(CanvasDrawingSession clds=cl.CreateDrawingSession())
{
clds.DrawImage(m_Bitmap);//将该内容渲染到 CanvasCommandList中,此处不会真正绘制到屏幕
}
//高斯模糊
GaussianBlurEffect blur = new GaussianBlurEffect();
blur.Source = cl;//源设置为您刚刚绘制的CanvasCommandList
blur.BlurAmount = 3.0f;//模糊半径
args.DrawingSession.DrawImage(blur);//绘制
}