SkiaSharp is 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.
Latest commit 92a3ad8 Dec 1, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
binding The DPI constant should be in SKDocument Dec 2, 2018
cake Re-generated the docs Nov 17, 2018
changelogs Updated docs Dec 2, 2018
docs Updated docs Dec 2, 2018
externals Fixing the C API Dec 2, 2018
images Added an icon to the OS X sample Jul 29, 2016
native-builds Statically Link Windows Binaries (#662) Oct 29, 2018
nuget Update Xamarin.Forms because we want to be on the edge Oct 30, 2018
samples Update Xamarin.Forms because we want to be on the edge Oct 30, 2018
scripts Updated docs Dec 2, 2018
source The Android GLView should be transparent to be consistent Nov 24, 2018
tests Fixed the matrix interop Dec 2, 2018
workbooks Set the version to v1.60.2 for the upcoming release May 29, 2018
.editorconfig Removed the use of the debug SaveBitmap Nov 15, 2018
.gitattributes Add a .gitattributes for the bash scripts Jul 19, 2018
.gitignore Reworked the nuget creation logic to be more streamlined and less err… Feb 23, 2018
.gitmodules Added back the submodules Oct 30, 2018
.openpublishing.build.ps1 Initialize open publishing repository: https://github.com/mono/SkiaSharp Jun 18, 2018
.openpublishing.publish.config.json Correcting the path casing Jun 20, 2018
CONTRIBUTING.md Create CONTRIBUTING.md Mar 1, 2016
External-Dependency-Info.txt Added the licensing information to the nugets Feb 23, 2018
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md May 7, 2018
LICENSE.md updated the license Feb 23, 2018
LICENSE.txt Moving more work into MSBuild Mar 20, 2018
README.md Update README.md Nov 30, 2018
VERSIONS.txt Update Xamarin.Forms because we want to be on the edge Oct 30, 2018
bootstrapper.ps1 Everything now builds again on Windows Mar 22, 2018
bootstrapper.sh Everything now builds again on Windows Mar 22, 2018
build.cake A few tweaks to the API to remove unnecessary changes Nov 11, 2018
cake.packages.config Updated Cake to 0.30.0 Sep 8, 2018
mono.pub Updated the project files to the new skia location and split the cake… Sep 15, 2016
mono.snk Updated the project files to the new skia location and split the cake… Sep 15, 2016

README.md

SkiaSharp

SkiaSharp SkiaSharp.Views SkiaSharp.Views.Forms
chat forums API Docs API Docs
Build Status

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.

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)

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
  • 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