d773c5b6b4 | ||
---|---|---|
binding | ||
cake | ||
docs | ||
externals | ||
images | ||
native-builds | ||
nuget | ||
samples | ||
source | ||
tests | ||
tools | ||
workbooks | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
Binding.md | ||
CONTRIBUTING.md | ||
LICENSE.md | ||
Makefile | ||
README.md | ||
bootstrapper.ps1 | ||
bootstrapper.sh | ||
build.cake | ||
mono.pub | ||
mono.snk |
README.md
SkiaSharp
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library (https://skia.org/). It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
What is Included
SkiaSharp provides a PCL and platform-specific bindings for:
- Xamarin.Android
- Xamarin.iOS
- Xamarin.tvOS
- Xamarin.Mac
- Windows Classic Desktop (Windows.Forms / WPF)
- Windows UWP
- .NET Core / .NET Standard 1.3
- Mac/Linux/Windows (Full Framework)
You can also build this on your particular variant of Unix to create your native libraries.
Using SkiaSharp
SkiaSharp is available as a convenience NuGet package, to use install the package like this:
nuget install SkiaSharp
The API Documentation is available on the web to browse.
Prerequisites
Make sure the Visual C++ Redistributable for Visual Studio 2015 is installed if this error occurs:
Unable to load DLL 'libSkiaSharp.dll': The specified module could not be found.
Building SkiaSharp
Before building SkiaSharp:
- Python 2.7 is available in the
PATH
environment variable on Windows - Android NDK r14 is available in the
ANDROID_NDK_HOME
environment variable on macOS - .NET Core is installed on all platforms
First, clone the repository:
$ git clone https://github.com/mono/SkiaSharp.git
Next, set up the submodules:
$ cd SkiaSharp
$ git submodule update --init --recursive
Finally, build everything:
$ ./bootstrapper.sh -t everything
> .\bootstrapper.ps1 -Target everything
If you are updating the source using a previous checkout, make sure to run the clean
target before building.
New Skia Features Roadmap
Google has created a nice doc with a collection of high level items they have on tap the next 6-12 months. Note it is a living document that changes based on the requirements of the library's users.
Compare Code
Here are some links to show the differences in our code as compared to Google's.
What version are we on? m57
Are we up-to-date with Google? Compare
What have we added? Compare