WPF 图形对象和几何提对象

图形对象和几何提对象(初次写博,排版很乱)


绘图使用工具有图形形状,画刷,画笔。
画刷(Brush):
ImageBrush--使用位图,
DrawingBrush--使用可缩放的图形,
VisualBrush---可以获取任何可视的对象

我比较信任VisualBrush。因为我曾把图片做为Viewport2DVisual3D内的一个控件的背景时,用ImageBrush卡死,用DrawingBrush稍微有点卡。VisualBrush和DrawingBrush效果差不多,但visualBrush功能更强大,通用性强。

画笔pen):是用来绘制形状的轮廓的,其实就是画刷的扩展。

Brush中的Stroke属性是用来勾绘图形的外部轮廓的,但一些人认为Brush中含有Stroke属性看起来很奇怪。pen的所有属性都会在Shape中出现,这样在使用Brush时不必再写一个pen来描述图形外轮廓。
Shape中Stroke属性与Pen对应的属性
shape属性       pen属性
Stroke          Brus
StrokeThickness     Thickness
StrokeLineJion       LineJoin
StrokeMiterLimit     MiterLimit
StrokeDashArray     DashArray
StrokeDashCap        DashCap
StrokeDashOffset     DashOffser
StrokeStartLineCap      StartLineCap
StrokeEndLineCap      EndLineCap  

 


wpf中有两套图形类,一套在System.windows.Shapes命名空间,一套在System.Windows.Media命名空间。
System.Windows.Media命名空间内的类绘图时只绘几何体,没有指定图形的颜色,线条的粗细,就像学几何时一样,做几何体时只会关心几何体每条线段的长度,起点,终点,坐标这些问题,线段的粗细颜色无关。所以这里的类后面大多都有-Geometry后缀。如RectangleGeometry、EllipseGeometry。
System.Windows.Shapes命名空间内的类提供的图形可以用来显示,可以看成美术类,可以设置图形可颜色,框的粗细。

<Ractangle Fill="Blue" Width="40" Height="80"/>
就是下面Path的简写方式:
<Path Fill="Blue">
 <Path.Data>
  <RectangleGeometry Rect="0,0,40,80">
 </Path.Data>
</Path>

图形形状

图形形状:
形状类型         说明
 Ellipse     椭圆
 Rectangle   巨型,可设置圆角
 Line       直线  
Path       路径线,可以由曲线、直线、组成的形状
Polygon     多边形(,直线组成的闭合形状)
Polyline     多线(直线组成的开口形状),poly-有多的意思

各种从Shape派生的类本质上都是底层几何对象的高度封装,Path在这点上就非常明确,它所构建的图形是由Data属性来定义的,而Data是一种Geometry类型。
几何类型:有CombinedGeometry (组合几何体)、GeometryGroup(几何体组)、 EllipseGeometry、LineGeometry、PathGeomety、RectangleGeometry、StreamGeometry(流几何)8种基本形态
CombinedGeometryGeometryGroup感觉起来很像,但画的图上会发现GeometryGroup组合的图形只是将几个图形放在一起,各自的轮廓照样有,而CombinedGeometry组合的图形就成了一个标准的图形,一个完美的轮廓。
StreamGeometryPathGeometry更有效果,可以定义所有图形,但创建后不能修改。

 

   

posted @ 2010-11-17 16:21  贪心狸猫  阅读(1716)  评论(0编辑  收藏  举报