End of sprint – added gradient brushes, more image effects, and richer bitmap APIs

New in Win2D on github today:

  • Gradient brushes (linear and radial)
  • More image effects (arithmetic composite, atlas, border, brightness, color source, crop, directional blur, displacement map, distant diffuse, distant specular, DPI compensation, gamma transfer, hue rotation, linear transfer, luminance to alpha, morphology, opacity metadata, point diffuse, point specular, premultiply, scale, shadow, spot diffuse, spot specular, tile, transform 2D, turbulence, and unpremultiply)
  • DrawImage overloads that take source and dest rectangle parameters
  • Create CanvasBitmap from arrays of byte[] or Color[] data
  • Options to specify pixel format, alpha mode, and DPI when creating CanvasBitmap or CanvasRenderTarget
  • CanvasBitmap.LoadAsync can read from an arbitrary URIs as well as local filenames
  • Interop between CanvasBitmap/CanvasImageBrush and their underlying D2D and D3D objects


Breaking change: renamed GaussianBlurEffect.StandardDeviation property to BlurAmount.


Check out the Example Gallery test app for demos of the new image effects:


Comments (6)

  1. Michael Pliskin says:

    Thanks for excellent work, new bitmap options covered 50% of my needs already, looking forward to get byte access to bitmaps – should cover next 50%.

  2. David Taylor says:

    Thanks for the great work! I shipped a Windows 8.1 game using the previous sprint, since Win2D was already good enough for my purposes. You can see it at apps.microsoft.com/…/ca04fae3-de5c-43e9-b7d0-0d0d88346d8e.

  3. Congrats on shipping the game David, looks very cool!  And thanks for sharing.  It's great to see what I believe is the first ever published app using Win2D…

  4. XGExp says:

    how can use this effect?

  5. XGExp – which effect are you asking about please?  All the effect classes are described in the reference documentation, and you can look at Example Gallery to see a complete code example using them.

  6. vasek7 says:

    I would welcome Opacity Mask effect. CanvasRadialGradientBrush cannot be used for a bitmap, right?

Skip to main content