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>
  • 相关阅读:
    迭代器基础知识
    C语言I博客作业09
    第一周作业
    C语言1博客作业04
    C语言I博客作业08
    C语言博客作业05
    C语言I作业12—学期总结
    C语言I博客作业10
    C语言I博客作业06
    C语言I博客作业11
  • 原文地址:https://www.cnblogs.com/snake1118/p/12691440.html
Copyright © 2011-2022 走看看