Win2D 1.2.0 – gradient meshes and virtual image sources

Win2D version 1.2.0 is now available on NuGet (for Windows 10 or Windows / Phone 8.1) and GitHub.


What’s new:

  • Gradient meshes for drawing fancy color gradients controlled by Bezier curves.
  • CanvasVirtualImageSource for drawing just the visible part of a large virtualized surface.  This is a low level API that requires lots of manual plumbing, equivalent to the existing CanvasImageSource.  A higher level, easier to use CanvasVirtualControl layer is coming soon.


Comments (11)

  1. I completely forgot to mention, we also added a CanvasBitmap.CreateFromSoftwareBitmap method:…/M_Microsoft_Graphics_Canvas_CanvasBitmap_CreateFromSoftwareBitmap.htm

  2. LMK says:

    I just submitted an app built against 1.2.0  and got this certification error back from the store:

    Error Found: The supported APIs test detected the following errors:

    API 13 in d2d1.dll is not supported for this application type. Microsoft.Graphics.Canvas.dll calls this API.

    Could this be related to the latest version? Didn't have this with 1.0.0…

  3. LMKz says:

    Actually looks like that UWP certification issue applies to 1.1.0 as well. Couldn't get past certification until I rolled right back to 1.0.0.

  4. Anastasios-Antonios Toulkeridis says:

    Guys, Adaplect is based on 1.2.0 and it's in the store

  5. Anastasios-Antonios Toulkeridis says:

    which package are you referring to? The W8.1 or the UWP?

  6. I was able to repro this trying to update Example Gallery to the latest version of Win2D.

    I suspect the issue occurs when using Win2D.uwp, but not when using Win2d.win81.  Please let me know if that is not the case.

    LMK, did you get the exact same failure when you tried to cert using 1.1.0, or was the error message something different?  The rejected API (#13 from d2d1.dll) is part of the gradient mesh feature that was only added in Win2D 1.2.0, so I'm not sure how that could be failing using 1.1.0.

    I am following up with the Store team to figure out what is going wrong here.

  7. LMKz says:

    Hi yes I was using Win2D.uwp via Nuget. When I reverted to 1.1.0 it failed with the same error but I suspect something went wrong with the build as the binaries were exactly the same size as with 1.2.0 so don't quote me on that.

    Is now in the store successfully with 1.0.0.

  8. There is now a GitHub issue tracking this problem:…/141

    Let's use that rather than blog comments to track further status.  We're working on a solution.

  9. LMKz says:

    Do you guys have any visibility on the video playback bug in Win 10? This is completely preventing me from developing video based uwp apps unless I revert to the MS Basic display driver (not really an option…). Thx.…/87fc32c7-5034-4fb1-9e26-f7c11e8a7bda…/3411a7c0-f234-45da-9c38-4d584264f119

  10. Sorry, Win2D is not involved in video playback.

  11. Damian Hallbauer says:

    re:   this is all great so far, it seems.  I have high hopes for CanvasVirtualControl.   Im hoping it requires no more memory than the output , the screen.  That is how the Autodesk Image Engine worked, for large scanned plots.   I suggest to support the 1 bit monotone TIF, and you might win some CAD clients back.   A viewer that loaded the whole file, at its resolution, would  ask for all the memory and die, if you do the math.  So well-designed raster viewer asked for the output resolution, then goes to the source image on the disk to get the data, sampling it as needed.    Because it is dealing with no more data than fits the screen or app window,  The performance is real time/ pan and zoom up to par with line drawings.

    I do a virtual 2d physics sim universe, and retained mode graphics, vector and hi-res raster, preferably with a fast, culling scenegraph, is what made me choose silverlight.   So , now i have big hopes for   CanvasVirtualImageSource .   I don't want to go back from c# to c++…   the performance I see is all about algorithms, not managed code.   c++ is flawed in that you cannot update a component without building all the rest, unless you use COM and interfaces and those are not 2016 looking.  I cant picture gong to back to something with the syntax of directX.. it looks like 10 years in history now that we have .net and  a computer LANGUAGE, not CODE..   crossing my fingers..

Skip to main content