6cdf2cc73c | ||
---|---|---|
.github | ||
binding | ||
cake | ||
changelogs | ||
docs@06af499f4c | ||
externals | ||
images | ||
native | ||
nuget | ||
samples | ||
scripts | ||
source | ||
tests | ||
tools | ||
utils | ||
workbooks | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
External-Dependency-Info.txt | ||
LICENSE.md | ||
LICENSE.txt | ||
README.md | ||
VERSIONS.txt | ||
bootstrapper.ps1 | ||
bootstrapper.sh | ||
build.cake | ||
global.json | ||
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 (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
Before building SkiaSharp:
- Python 2.7 is available in the
PATH
environment variable on Windows - Android NDK r15 is available in the
ANDROID_NDK_HOME
environment variable on macOS - .NET Core is installed on all platforms
- C/C++ Compiler (MSVC / "Desktop development" package on Windows)
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:
Mac/Linux:
$ ./bootstrapper.sh -t everything
Windows:
> .\bootstrapper.ps1 -t everything
Compare Code
Here are some links to show the differences in our code as compared to Google's code.
What version are we on? m68
Are we up-to-date with Google? Compare
What have we added? Compare