Table of Contents

Version 1.60.0

Skia m60 upgrade with new platform support · Released February 23, 2018 · NuGet · GitHub Release

Highlights

SkiaSharp 1.60.0 upgrades to Skia milestone 60, bringing major improvements to GPU-backed rendering and texture-based surfaces. This release also introduces preview support for Apple watchOS and GTK#, and cleans up the API surface by removing previously obsoleted types and members.

Breaking Changes

  • Removed many obsolete types and members that were previously marked with [Obsolete]. Code referencing these removed APIs will need to migrate to their recommended replacements.
  • Removed confusing and incorrect SKCanvas overloads that could produce unexpected results.

New Features

Engine

  • Skia m60 upgrade — Updated the underlying Skia engine to milestone 60.

GPU & Rendering

  • Texture-based surface improvements — Major improvements to texture-backed surface support and older device compatibility.
  • GPU-backed SKImage — Improved support for creating and working with texture-backed SKImage instances.

Streams

  • SKAbstractManagedStream — Custom SKStream implementations can now be created using SKAbstractManagedStream.
  • SKFrontBufferedManagedStream — New stream type that enables reading from read-only, forward-only streams.
  • Unicode path support — Streams can now open files with Unicode paths on Windows.
  • SKStream.Peek() — Added the missing Peek() method to SKStream.

Images

  • Color swizzling — Added support for swizzling color channel order (RGB ↔ BGR).
  • SKPixelSerializer / SKManagedPixelSerializer — New types for custom image encoding workflows.
  • SKBitmap improvements — Improved bitmap copying, auto-locking, and decoding from Unicode paths on Windows.

Canvas

  • New overloads — Added numerous SKCanvas overloads to improve usability.
  • 9-patch and lattice drawing — Improved support for 9-patch and image lattice rendering.
  • SKPaint.BreakText fix — Now properly returns the number of characters and the split text.

Documents

  • XPS close fix — XPS documents are now correctly closed.
  • Unicode path support — Documents can now be created with Unicode paths on Windows.

Platform — Views

  • SKGLTextureView — New Android view for GPU-accelerated texture-based rendering.
  • SKWidget — New GTK# widget for SkiaSharp rendering (preview).
  • WPF DPI fix — WPF now creates the backing bitmap with the correct DPI.
  • SKControl constructors — Additional constructors to control the underlying OpenGL configuration.

Platform — Xamarin.Forms

  • Xamarin.Forms v2.5 — Updated to Xamarin.Forms v2.5.
  • UWP touch events — Improved touch event handling on UWP.
  • SKGLView on Android — Switched the backing view to the new texture-based SKGLTextureView.

Text Shaping (preview)

  • HarfBuzzSharp 1.4.6 — HarfBuzz text shaping engine bindings.
  • SkiaSharp.HarfBuzz 1.60.0 — Adds SKShaper for text shaping and DrawShapedText extension methods on SKCanvas.

Bug Fixes

  • Fixed SKPaint.BreakText to properly return character count and split text.
  • Fixed XPS documents not being correctly closed.
  • Fixed WPF backing bitmap using incorrect DPI.
  • Improved memory management across several types.

Platform Support

Platform What's New
🍎 watchOS New preview support for Apple watchOS
🤖 Android New SKGLTextureView; SKGLView now uses texture-based rendering
🐧 Linux / GTK# New SKWidget for GTK# (preview)
🪟 Windows / WPF DPI fix for backing bitmap; improved UWP touch events
🪟 Windows Unicode path support for streams, images, and documents