Version 1.56.0
GIF support, bitmap resize, and OpenTK removal · Released January 16, 2017 · NuGet · GitHub Release
Highlights
This release adds multi-frame image support (animated GIFs) via SKCodec, bitmap resizing with SKBitmap.Resize, direct pixel manipulation with InstallPixels and PeekPixels, and new SKPixmap bindings. The GL views drop their OpenTK dependency across all Apple and Android platforms, and the UWP SKXamlCanvas gets a non-blocking Invalidate().
Breaking Changes
Deprecations
SKXfermodedeprecated —SKXfermodehas been deprecated in favour ofSKBlendMode.SKPicture.Boundsrenamed —SKPicture.Boundsis nowSKPicture.CullRectfor correctness.
New Features
Images
- Bitmap resizing — New
SKBitmap.Resizefor resizing bitmaps. - Direct pixel manipulation —
SKBitmap.InstallPixelsandSKBitmap.PeekPixelsfor updating pixels directly. SKPixmapbindings — New bindings for theSKPixmaptype.- Multi-frame image support —
SKCodecnow supports multi-frame images such as animated GIFs. - Encoding information —
SKCodeccan now read the encoding information of a bitmap file.
Platform
- Removed OpenTK dependency — GL views on Android, iOS, tvOS, and macOS no longer depend on OpenTK.
- iOS transparent views —
SKCanvasViewandSKGLViewRendererin Xamarin.Forms on iOS are now transparent by default. - UWP non-blocking invalidation —
SKXamlCanvasfor UWP no longer blocks onInvalidate().
GPU & Rendering
- SVG transparency and opacity — Correctly handling SVG transparency and opacity in the SkiaSharp.Svg parser.
Bug Fixes
- Fixed Android GL views to correctly clear the stencil buffer.
- Added a stencil buffer for macOS GL views.
Platform Support
| Platform | What's New |
|---|---|
| 🍎 Apple | Removed OpenTK dependency; macOS gains stencil buffer for GL views; iOS views default to transparent |
| 🪟 Windows | UWP SKXamlCanvas no longer blocks on Invalidate() |
| 🤖 Android | Removed OpenTK dependency; fixed GL stencil buffer clearing |