Welcome to the Win2D Github Open Source project.  

Win2D is an open source project which as developed a Windows Runtime API to expose the power of hardware accelerated Direct2D graphics to Windows Universal App developers who are targeting Windows 8 and Windows Phone. 

Win2D is available to both C# and C++ developers writing Windows 8.1 and Windows Phone 8.1 apps. 

Getting Started

Win2D is an easy-to-use Windows Runtime API for immediate mode 2D graphics rendering with GPU acceleration. It is available to C# and C++ developers writing Windows Store apps for Windows 8.1 and Windows Phone 8.1. It utilizes the power of Direct2D, and integrates seamlessly with XAML and ICoreWindow.

Win2D is work in progress and evolving rapidly. The goal of releasing this code in an early, incomplete state is to solicit early developer feedback. The project backlog shows what we plan to add in the future, and the order in which we plan to add it.

Source code and issue tracking are available at

Getting Started

To get started using Win2D:

  • Clone the source code from github
  • Run build.cmd to compile it
  • Point Visual Studio at the resulting NuGet packages
  • Add a CanvasControl to your XAML page

See the readme for more detailed instructions.

To find out more, check out the following links:

blog post:  




Below is an example of what you can do using Win2D. And it is not a “bitmap”, but a vectorized image.


Comments (3)

  1. Den says:

    Finally a post about graphics that is not some Unity3d garbage! Thank you, looks like a useful project!

  2. PierreJoye says:

    is that C++/CLI or managed or is it pure native too?

    Wondering what's the difference with direct2d if native 🙂

  3. Lee Stott says:

    Hi PierreJoyce

    Win2D is a Windows Runtime API which exposes the power of hardware accelerated Direct2D graphics to Universal App (Windows 8.1 and Windows Phone 8.1)

    As your no doubt aware the Windows Runtime supports several major programming languages (including C# and C++)but building a Windows Store app using DirectX requires native C++ and DirectX APIs which is complex.

    One of the key drivers of Win2D is that we receive consistent requests from the developers for access to DirectX through C#. System.Drawing provides immediate mode 2D rendering in GDI+ through .NET but is not hardware accelerated and is unable to keep up performance-wise for today’s graphics needs. Win2D is our attempt to give developers more of what they're asking for.

    Win2D’s design makes it easier for a C#/C++ developer to use the full capabilities of the Direct2D API. These APIs can be used with XAML to produce beautiful graphics apps with rich UI. The API is in the early stages of development and we have a minimal set of 2D drawing functionality already implemented. By no means is the API in its current state a complete representation of Direct2D in the Windows Runtime. We believe that releasing the API early, even if it does not have all the Direct2D features, is useful. As a developer and potential user of the API you get the chance to influence the API design early and ultimately help build the best C#/C++ Windows Runtime 2D immediate mode rendering API.

    Additionally Win2D can interop easily with native D2D see…/Interop.htm so it could be used as part of a DX11 application.  However Win2D not a UI framework, simply put its a 2D drawing API.

    So it allows you the freedom of deciding what sort of UI you need, Win2D might be useful, or XAML might be a better choice.

Skip to main content