Skip to content

Version 1.60.0

Compare
Choose a tag to compare
@mattleibow mattleibow released this 23 Feb 01:33

SkiaSharp

A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.

Significant Changes

  • Added Apple watchOS support (preview)
  • Added GTK# support (preview)
  • Major improvements to texture-based surfaces
  • Obsolete types are now removed to avoid confusion

Changes

  • Updated to skia milestone 60
  • Added new platforms
    • Added preview watchOS support
    • Added preview GTK# support
  • Improved GPU-backed rendering
    • Improved older device support
    • Improved texture-backed surface support
    • Improved SKImage support for GPU images
  • Improved several stream types
    • Custom SKStream streams can be created using SKAbstractManagedStream
    • Added a SKFrontBufferedManagedStream to enable reading from read-only, forward-only streams
    • Streams can now open Unicode paths on Windows
    • Added the missing SKStream.Peek() method
  • Improved image types
    • Added support for swizzling color bits (RGB to BGR)
    • Improved support for texture-backed SKImage
    • Added SKPixelSerializer and SKManagedPixelSerializer to support custom image encoding
    • Improvements to SKBitmap copying
    • SKBitmap is now auto-locked
    • Images can now be decoded from Unicode paths on Windows
  • Improved SKCanvas
    • Added numerous overloads to improve usability
    • Improved 9-patch and image lattice support
    • Removed confusing (and incorrect) overloads
    • SKPaint.BreakText now properly returns the number of characters and the split text
  • Fixes for SKDocument
    • XPS documents are correctly closed
    • Documents can now be created with Unicode paths on Windows
  • Improved memory management
  • Removed many obsolete types and members.
  • Many other small fixes, improvements and additions

Links

NuGet | Code Diff | Mac CI | Windows CI | Linux CI

SkiaSharp.Views

A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.

Significant Changes

  • Added a new SKGLTextureView for Android
  • Added a new SKWidget for GTK# (preview)

Changes

  • Added a new SKGLTextureView for Android
  • Improved older device support for GPU rendering
  • Added GTK# support with SKWidget
  • WPF now creates the backing bitmap with the correct DPI.
  • SKControl now has more constructors to control the underlying OpenGL configuration

Links

NuGet

SkiaSharp.Views.Forms

A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP and macOS (preview).

Significant Changes

  • The SKGLView now uses the new SKGLTextureView for Android

Changes

  • Updated Xamarin.Forms to v2.5
  • Improved touch events for UWP
  • Switched the backing view for SKGLView on Android to a texture-based view

Links

NuGet

HarfBuzzSharp (preview)

HarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.

Links

NuGet

SkiaSharp.HarfBuzz (preview)

Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper type that can shape a string, returning the codepoints and their positions.

This package also adds some extension methods to SKCanvas to make drawing shaped text easier. These methods include DrawShapedText and it's overloads.

Links

NuGet

Linux

Because we love everyone in the Linux world just as well as the Microsoft and the Xamarin worlds, we have also included some pre-built Linux native binaries.

The system that was used to build these binaries was: "Ubuntu 14.04 amd64".

All the Linux binaries for this version of SkiaSharp can be downloaded in the "Assets" links.

Samples

A few new samples were added to demonstrate some new features. In addition to new samples, the samples have now been split into two categories: Basic and Gallery. The Basic samples are minimal and contain the bare bones to get started. The Gallery samples showcase some cool features of SkiaSharp.

All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.