Releases: mono/SkiaSharp
Version 1.68.2 (Preview Build 60)
Version 1.68.2 (Preview Build 50)
Version 1.68.2 (Preview Build 45)
Version 1.68.2 (Preview Build 43)
Version 1.68.2 (Preview Build 39)
Version 1.68.2 (Preview Build 29)
Version 1.68.2 (Preview Build 21)
Version 1.68.2 (Preview Build 17)
Version 1.68.1.1
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.
Major Changes
This version adds several new members and types, but the core focus was on resolving some larger memory-related issues. This release hopes to fix several cases where incorrect memory usage resulted in a crash or undefined behavior.
- Windows Nano Server support! Standard .NET Core containers here we come!
Changes
- Fixed some memory buffer overflow bugs when decoding some image files
- Fix memory leak with allocations [@daltonks]
- Matrix improvements [@bender2k14]
- Improvements to image decoding with
SKImage
Maintainence
- New logos!
- Making the native build steps to be separate cake files so they can be run multiple times with different arguments. This is useful when building Win32 as both Win32 and Nano server, or Linux as default Linux and no-dependency Linux.
- Using Ubuntu 16 and Clang 4.0 in a Docker container when building linux. As a result, we aren't building under the restricted Docker builds of DevOps.
- Added some code checks, such as PoliCheck to make sure we are not using bad words, CredScan to make sure we haven't got saved passwords and Component Governance to make sure we are registered with the Big List™.
Links
NuGet | Code Diff | Project | Milestone | Changelog | CI | Release 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.
Changes
- None
Links
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, macOS (preview) and Tizen (preview).
Changes
- Fixed an issue where .NET Standard assemblies were being referenced instead of the platform specific assemblies
Links
HarfBuzzSharp
A library for text shaping, which is the process of converting Unicode text to glyph indices and positions.
Changes
- Fixed an issue when marshaling strings
Links
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.
Changes
- None
Links
Additional Platforms
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 in a new, separate package (see #312):
SkiaSharp.NativeAssets.Linux
If you happen to be on an environment that does not have the ability to install any of the required dependencies, such as FontConfig, you can also try out the build that does not have any dependencies other that the core system libraries:
SkiaSharp.NativeAssets.Linux.NoDependencies
At the current time, it just contains a Ubuntu 16.04 amd64 build that should work on most Debian-based Linux distributions. More builds can be requested by leaving a comment on #453.
If a specific platform is required, you can easily build your own binaries by following this guide.
Windows Nano Server
We know the .NET Core containers are very cool to use, so we now have support for using the default Windows .NET Core Docker images (see #676):
SkiaSharp.NativeAssets.NanoServer
It is not quite perfect just yet, so the app project needs a little help (see NuGet/Home#8894):
<PackageReference Include="SkiaSharp" ExcludeAssets="native" />
<PackageReference Include="SkiaSharp.NativeAssets.NanoServer" />
Samples
There are a large set of samples that show many different features of SkiaSharp. They are broken up into two main groups:
- Basic - these are minimal samples that show just what is needed to use SkiaSharp
- Gallery - these are comprehensive samples that show off new, or exciting features of SkiaSharp
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.