4.8 KiB
This repository is now in legacy mode and its features have been merged into the official SkiaSharp repository
SkiaSharp for WebAssembly
SkiaSharp for WebAssembly is a SkiaSharp port that runs on top of the Uno Platform, using modified CanvasKit for WebAssembly.
Note that Uno support for SkiaSharp is now part of the official SkiaSharp repository.
This repository provides two packages:
Uno.SkiaSharp.Wasm
, which provides basic SkiaSharp functionalityUno.SkiaSharp.Views
which provides theSKXamlCanvas
control which enables software rendering support for iOS, Android and WebAssembly.
Requirements
You can use this sample as a barebones project to experiment with SkiaSharp.
SkiaSharp
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library (skia.org). It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
SkiaSharp provides cross-platform bindings for:
- .NET Standard 1.3
- .NET Core
- Tizen
- Xamarin.Android
- Xamarin.iOS
- Xamarin.tvOS
- Xamarin.watchOS
- Xamarin.Mac
- Windows Classic Desktop (Windows.Forms / WPF)
- Windows UWP (Desktop / Mobile / Xbox / HoloLens)
The API Documentation is available on the web to browse.
Using SkiaSharp
SkiaSharp is available as a convenient NuGet package, to use install the package like this:
nuget install SkiaSharp
Because there are multiple distros of Linux, and we cannot possibly support them all, we have a separate NuGet package that will contain the supported binaries for a few distros: SkiaSharp.NativeAssets.Linux. (distros) (more info)
There is also a early access feed that you can use to get the latest and greatest, before it goes out to the public:
https://aka.ms/skiasharp-eap/index.json
Building SkiaSharp
Building SkiaSharp is mostly straight forward. The main issue is the multiple dependencies for each platform.
However, these are easy to install as they are found on the various websites. If you are just working on managed code, it is even easier as there mays to skip all the native builds.
Compare Code
Here are some links to show the differences in our code as compared to Google's code.
What version are we on? m80
Are we up-to-date with Google? Compare
What have we added? Compare