zoukankan      html  css  js  c++  java
  • 使用Win2D在UWP程序中2D绘图(一)

    在新的Windows UWP程序中,引入了一个新的API库: Win2D。它是一个d2d的封装,可以直接使用C#来快速实现高效2D绘图了。这个API虽然在Win8.1时代就开始着手开发了,但最近才完善了下来。本文这里就简单的介绍一下它的基本用法:

    安装

    Win2D并不是Win10 SDK里面的一部分,需要从Nuget上安装,在程序包管理器里直接安装Win2D.uwp即可。

        PM> Install-Package Win2D.uwp

    这个是Win10下的库,Win8下需要使用Win2D.win81库。安装完后在Project.json中可以看到相应的库依赖:

        

    示例:

    Win2D引入了一个新的画布:Microsoft.Graphics.Canvas.UI.Xaml.CanvasControl,所有的绘制必须在它上面进行。因此首先在XAML中添加CanvasControl作为底图:

        xmlns:canvas="using:Microsoft.Graphics.Canvas.UI.Xaml"

        <Grid>
             <canvas:CanvasControl Draw="canvasControl_Draw" ClearColor="CornflowerBlue" />
        </Grid>

    然后响应其Draw事件,在里面添加绘制动作:

        void canvasControl_Draw(CanvasControl sender, CanvasDrawEventArgs args)
        {
            args.DrawingSession.DrawEllipse(155, 115, 80, 30, Colors.Black, 3);
            args.DrawingSession.DrawText("Hello, world!", 100, 100, Colors.Yellow);
        }

    运行效果如下:

        

    这种方式与WinForm和WPF中的自绘制比较像,只是一些API有些差异。目前这里只是一个简单的示例,后面会再写几篇文章对Win2D相关API做更详细点的介绍。感兴趣的朋友可以看下下面的相关文档。

     

    相关文档:

  • 相关阅读:
    CSU 1333 Funny Car Racing
    FZU 2195 检查站点
    FZU 2193 So Hard
    ZOJ 1655 FZU 1125 Transport Goods
    zoj 2750 Idiomatic Phrases Game
    hdu 1874 畅通工程续
    hdu 2489 Minimal Ratio Tree
    hdu 3398 String
    洛谷 P2158 [SDOI2008]仪仗队 解题报告
    POJ 1958 Strange Towers of Hanoi 解题报告
  • 原文地址:https://www.cnblogs.com/TianFang/p/4732570.html
Copyright © 2011-2022 走看看