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>
  • 相关阅读:
    指针型函数与函数型指针 -2021.08.04
    Ubuntu18.04 NAT模式下配置静态IP地址 -2020.11.09
    Linux编译内核 Ubuntu18.04 -2020.11.04
    以PING为例,利用Wireshark深入理解网络层、数据链路层的工作原理 -2020.10.30
    Ubuntu18.04虚拟机的安装
    UNIX/Linux系统中的文件属性
    【计算机四级嵌入式】内存管理
    利用预编译解决C/C++重复定义的错误 -2020.09.13
    使用镜像安装cygwin、gcc并配置CLion IDE -2020.09.12
    Android Studio 4.0.1 找不到R.java 2020.09.08
  • 原文地址:https://www.cnblogs.com/snake1118/p/12691440.html
Copyright © 2011-2022 走看看