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
SKCanvasoverloads 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
SKImageinstances.
Streams
- SKAbstractManagedStream — Custom
SKStreamimplementations can now be created usingSKAbstractManagedStream. - 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 toSKStream.
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
SKCanvasoverloads 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
SKShaperfor text shaping andDrawShapedTextextension methods onSKCanvas.
Bug Fixes
- Fixed
SKPaint.BreakTextto 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 |