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>
复制代码

 

posted @   snake1118  阅读(407)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示