使用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做更詳細點的介紹。感興趣的朋友可以看下下面的相關文檔。

 

相關文檔:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM