zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    多任务并行
    不同方法来移动数据库(更改磁盘时用)(转)
    ASP.NET执行SQL超时的解决方案
    SQL Server 简单模式下,误删除堆表记录如何恢复(绕过页眉校验) (转)
    关于跟踪标记
    .NET分布式事务处理
    安装SQL Server 2005时出现COM+的警告/错误,下面是微软给出的解决方法。
    PHP中如何获取多个checkbox的值
    C# 模拟post数据提交时 出现如下错误: System.Net.WebException: 远程服务器返回错误: (417) Expectation Failed 的解决办法
    winform出现"LC.exe"已退出,代码为1
  • 原文地址:https://www.cnblogs.com/snake1118/p/12691440.html
Copyright © 2011-2022 走看看