Table of Contents

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

  • SKXfermode deprecatedSKXfermode has been deprecated in favour of SKBlendMode.
  • SKPicture.Bounds renamedSKPicture.Bounds is now SKPicture.CullRect for correctness.

New Features

Images

  • Bitmap resizing — New SKBitmap.Resize for resizing bitmaps.
  • Direct pixel manipulationSKBitmap.InstallPixels and SKBitmap.PeekPixels for updating pixels directly.
  • SKPixmap bindings — New bindings for the SKPixmap type.
  • Multi-frame image supportSKCodec now supports multi-frame images such as animated GIFs.
  • Encoding informationSKCodec can 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 viewsSKCanvasView and SKGLViewRenderer in Xamarin.Forms on iOS are now transparent by default.
  • UWP non-blocking invalidationSKXamlCanvas for UWP no longer blocks on Invalidate().

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