SkiaSharp fork for the Uno Platform and WebAssembly. Skia 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 e0dafd42cd Added another test 2017-12-19 05:24:20 +02:00
binding Using a better front buffered stream 2017-12-17 22:19:42 +02:00
cake Switch to Xunit as NUnit does not handle native exceptions well 2017-12-14 01:51:18 +02:00
docs updated the docs 2017-10-04 01:06:04 +02:00
externals updated externals 2017-12-14 07:58:33 +02:00
images Added an icon to the OS X sample 2016-07-29 18:09:17 +02:00
native-builds abstracted the managed stream for arbitary streams 2017-12-17 17:54:43 +02:00
nuget Merge branch 'master' into dev/v1.60.0 2017-10-27 12:38:38 +02:00
samples Improvements to the samples for v1.60 2017-12-02 00:05:22 +02:00
source improved the forms designer 2017-12-18 00:14:14 +02:00
tests Added another test 2017-12-19 05:24:20 +02:00
workbooks Re-applied some of the changes that were not specific to MSBuild 2017-06-24 02:02:42 +02:00
.editorconfig Added .editorconfig 2016-03-01 17:51:01 +03:00
.gitignore updated the build scripts 2017-06-06 04:10:52 +02:00
.gitmodules Use mdoc from source, instead of the binary 2017-05-20 07:23:47 +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 Revert "Revert back to 1.59.1 so we can patch" 2017-09-05 17:29:58 +02:00
bootstrapper.ps1 Use the later (v4.3.0) NuGet 2017-09-06 13:15:01 +02:00
bootstrapper.sh Use the later (v4.3.0) NuGet 2017-09-06 13:15:01 +02:00
build.cake Fixing the tests after switching to the pre-release Xunit 2017-12-17 22:20:26 +02:00
cake.packages.config updated externals 2017-12-14 07:58:33 +02:00
mono.pub Added strong name signing #92 2016-08-12 00:11:33 +02:00
mono.snk Added strong name signing #92 2016-08-12 00:11:33 +02:00

README.md

SkiaSharp

SkiaSharp SkiaSharp.Views SkiaSharp.Views.Forms
Gitter.im Xamarin Forums
API Docs API Docs
Windows Build Status Linux Build Status Mac 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 a PCL and platform-specific bindings for:

  • .NET Core / .NET Standard 1.3
  • 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 convenience NuGet package, to use install the package like this:

nuget install SkiaSharp

Make sure the Visual C++ Redistributable for Visual Studio 2015 is installed if this error occurs on Windows:

Unable to load DLL 'libSkiaSharp.dll': The specified module could not be found.

At this point in time, we do not ship a native Linux binary, but you can build your own using the directions below.

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:

Mac/Linux:

$ ./bootstrapper.sh -t everything

Windows:

> .\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? m60
Are we up-to-date with Google? Compare
What have we added? Compare