#232 – DrawingVisual类(The DrawingVisual Class)

2016-08-30 19:13:06来源:CSDN作者:Libby1984人点击

DrawingVisual 是一个轻量级的类,它是用于在屏幕上绘制一系列二维矢量图形的基类。他继承自Visual 类,支持点击测试和坐标转换。它还继承ContainerVisual类,可以管理一系列单独的可视化Visual 实例。

你可以通过调用它的RenderOpen 方法获得DrawingContext 实例,然后调用它的DrawingContext 方法来绘制DrawingVisual 的内容。

DrawingVisualDrawing 属性表示的是DrawingVisual 绘制的2D对象的集合。

为了显示DrawingVisual 绘制的内容,必须将DrawingVisual 实例放在UIElement 或者FrameworkElement容器中。

原文地址:https://wpf.2000things.com/2011/03/01/232-the-drawingvisual-class/


*****************************************译者注******************************************

DrawingVisual 是一个可视对象,可用于在屏幕上呈现向量图形。内容由系统保存。它是一个轻量绘图类,之所以被视为轻量类,是因为它不提供布局、输入、焦点或事件处理功能,从而能够改善其性能。因此,DrawingVisual 绘图是背景和剪贴画的理想选择。

为了使用 DrawingVisual 对象,需要为这些对象创建一个承载容器。该承载容器对象必须从FrameworkElement类中派生,该类可提供DrawingVisual 类不支持的布局和事件处理支持。

它的继承结果如下:

下面的例子是使用DrawingVisual 类绘制文字。然后将绘制的内容作为图片在Image上显示。

Image myImage = new Image();FormattedText text = new FormattedText("ABC",        new CultureInfo("en-us"),        FlowDirection.LeftToRight,        new Typeface(this.FontFamily, FontStyles.Normal, FontWeights.Normal, new FontStretch()),        this.FontSize,        this.Foreground);DrawingVisual drawingVisual = new DrawingVisual();DrawingContext drawingContext = drawingVisual.RenderOpen();drawingContext.DrawText(text, new Point(2, 2));drawingContext.Close();RenderTargetBitmap bmp = new RenderTargetBitmap(180, 180, 120, 96, PixelFormats.Pbgra32);bmp.Render(drawingVisual);myImage.Source = bmp;



最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台