WPF-2D图形
Posted snake1118
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF-2D图形相关的知识,希望对你有一定的参考价值。
WPF可以使用矢量图,可以完美的缩放位任何尺寸。
WPF绘图的主要特点在于它是一种保留模式(retained-mode)的图形系统,不是立即模式(immdediate-mode)的图形系统。
这两中显示系统有啥差异呢。立即模式把整个界面当一个整体,改变局部其实是整个界面重绘。其他的不明白!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
创建和使用二维图形,有3中数据可以使用:Drawing、Visual、Shape。
这三种的区别和差异:
Drawing描述了填充相关联的路径、形状、轮廓Brush。
Visual:把Drawing画到屏幕中的一种方式;也提供了完全摆脱Drawing对象的底层轻量级实现。
Shape:预制的Visual,画自定义工艺图最简单,最重量级的方法。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
先介绍Drawing
Drawing是抽象类,代表了二维图画。使用的主要是Drawing的子类。子类如下:
1、GeometryDrawing
包括了Grawing类,Brush类,Pen类。
最基本的Drawing。
2、ImageDrawing
包括ImageSource类,定义边界的Rect类。ImageSource可以使用GeometryDrawing。
3、VideoDrawing
包括MediaPlayer类,定义近边界的Rect类。
4、GlyphRunDrawing
包括GlyphRun类,低级别文本类,绘制前景色的Brush。
5、DrawingGroup
包括一组Drawing的集合类,
Drawing类不是UIElement。想让Drawing绘制图像,需要宿主对象。
1、DrawingImage
2、DrawingBrush
3、DrawingVisual
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
举个例子
<Image> <Image.Source> <DrawingImage> <DrawingImage.Drawing> <GeometryDrawing Brush="Orange"> <GeometryDrawing.Pen> <Pen Brush="Black" Thickness="10"></Pen> </GeometryDrawing.Pen> <GeometryDrawing.Geometry> <EllipseGeometry RadiusX="100" RadiusY="50"></EllipseGeometry> </GeometryDrawing.Geometry> </GeometryDrawing> </DrawingImage.Drawing> </DrawingImage> </Image.Source>
</Image>
以上是关于WPF-2D图形的主要内容,如果未能解决你的问题,请参考以下文章