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.
Перейти к файлу
Matthew Leibowitz d773c5b6b4 Updated the readme 2017-03-24 10:29:33 -04:00
binding Added more SKSurface members. Resolves #248 2017-03-23 10:47:31 -04:00
cake Update mdoc 2017-03-23 20:27:52 +02:00
docs removed duplicate entry 2017-03-12 12:30:45 +04:00
externals Added more SKSurface members. Resolves #248 2017-03-23 10:47:31 -04:00
images Added an icon to the OS X sample 2016-07-29 18:09:17 +02:00
native-builds Linux now also builds again using GN 2017-03-18 17:03:10 +04:00
nuget Updated the packaging version to v1.57.0 2017-03-18 17:08:10 +04:00
samples Resolved memory leak that caused crashes for the animated samples 2017-03-24 09:59:30 -04:00
source Updated the packaging version to v1.57.0 2017-03-18 17:08:10 +04:00
tests Wildcards don't appear to work for content 2017-03-21 10:58:25 -04:00
tools Update mdoc 2017-03-23 20:27:52 +02:00
workbooks Added a workbook that uses the NuGets 2017-02-11 20:14:50 +04:00
.editorconfig Added .editorconfig 2016-03-01 17:51:01 +03:00
.gitignore Use the GenAPI from NuGet 2016-10-20 23:26:00 +02:00
.gitmodules moved the externals into an "externals" folder 2016-09-15 00:53:42 +02:00
Binding.md Create Binding.md 2016-02-22 13:42:32 -05:00
CONTRIBUTING.md Create CONTRIBUTING.md 2016-03-01 19:18:14 +02:00
LICENSE.md Adding MIT license file 2016-02-22 11:46:04 -05:00
Makefile Updates to the documentation bits 2016-10-19 00:50:16 +02:00
README.md Updated the readme 2017-03-24 10:29:33 -04:00
bootstrapper.ps1 Windows also cleans up the tools directory now 2017-03-12 15:17:49 +02:00
bootstrapper.sh $? didn't do what I thought it did... 2017-03-22 15:50:24 -04:00
build.cake Updated the packaging version to v1.57.0 2017-03-18 17:08:10 +04:00
mono.pub Updated the project files to the new skia location and split the cake script 2016-09-15 03:14:35 +02:00
mono.snk Updated the project files to the new skia location and split the cake script 2016-09-15 03:14:35 +02:00

README.md

SkiaSharp

SkiaSharp SkiaSharp.Views SkiaSharp.Views.Forms
Gitter.im Xamarin Forums
API Docs API Docs

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