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 6570c1cb49 Dropping the version for the merge 2016-09-14 09:32:46 +02:00
binding Dropping the version for the merge 2016-09-14 09:32:46 +02:00
depot_tools@db8b839320 Updated depot_tools 2016-08-30 20:03:43 +02:00
docs Merge branch 'master' into skiasharp-views 2016-09-13 17:54:51 +02:00
images Added an icon to the OS X sample 2016-07-29 18:09:17 +02:00
native-builds Use MacOS deployment target 10.8 as there seems to be a bug on 10.7 and certain versions of Xcode 2016-09-05 01:34:37 +02:00
nuget Dropping the version for the merge 2016-09-14 09:32:46 +02:00
samples Dropping the version for the merge 2016-09-14 09:32:46 +02:00
skia@7f4e772937 Expose the `Flush` method for `GRContext` 2016-09-06 19:19:50 +02:00
tests The tests project is a library, so we have to manually tell it to copy the native libSkiaSharp files 2016-09-13 00:15:40 +02:00
tools mdoc needs a few extra things on windows 2016-08-31 23:52:37 +02:00
views Dropping the version for the merge 2016-09-14 09:32:46 +02:00
.editorconfig Added .editorconfig 2016-03-01 17:51:01 +03:00
.gitignore Upped the NuGet version to v1.54.1 2016-09-12 22:46:49 +02:00
.gitmodules Changing the submodule to https 2016-05-03 19:31:13 +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 added 'assemble-docs' makefile target 2016-03-07 11:33:20 -05:00
README.md Update the "version comparison" links 2016-08-31 05:34:40 +02:00
bootstrapper.ps1 We are going to check in mdoc because there is no stand-alone version 2016-08-31 23:21:40 +02:00
bootstrapper.sh Added a TEMPORARY workaround for packing NuGets... 2016-06-13 21:50:04 +02:00
build.cake Upped the NuGet version to v1.54.1 2016-09-12 22:46:49 +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

Gitter.im NuGet NuGet Pre Release

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:

  • Mac (Console or using the Xamarin.Mac)
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.tvOS
  • Xamarin.Mac
  • Windows Desktop (Windows.Forms / WPF)
  • Windows UWP

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

Our getting started guide will walk you through both the basic setup as well as the platform specific capabilties.

The API Documentation is also available on the web to browse.

Prerequisites

Make sure the Microsoft Visual C++ 2015 Redistributable is installed if this error occurs:

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

Building SkiaSharp

First clone the repository:

$ git clone https://github.com/mono/SkiaSharp.git

Next, set up the submodules:

$ cd SkiaSharp
$ git submodule init && git submodule update

Then follow the platform-specific instructions below.

Mac OS X

Run from Bash

$ ./bootstrapper.sh -t libs

This runs the build process by using the libs build target.

Windows

You need Python 2.7 in PATH environment variable. Then you can build it:

> .\bootstrapper.ps1 -Target libs

This runs the build process by using the libs build target.

Build Targets

There are several targets available, you can specify the target as the argument to the -t command line option in the bootstrapper script.

  • Everything - builds everything for the current platform
  • externals - builds all the native libraries
    • [win] externals-windows - builds the native libraries for Windows
    • [win] externals-uwp - builds the native libraries for Windows UWP
    • [mac] externals-osx - builds the native libraries for Mac OS X
    • [mac] externals-ios - builds the native libraries for iOS
    • [mac] externals-tvos - builds the native libraries for tvOS
    • [mac] externals-andoid - builds the native libraries for Android
  • libs - builds all the managed libraries
    • [win] libs-windows - builds the managed libraries that can be built on Windows
    • [mac] libs-osx - builds the managed libraries that can be built on Mac OS X
  • tests - builds and runs the tests
  • samples - builds the samples available for the current platform
  • docs - updates the mdoc files
  • nuget - packages the libraries into a NuGet
  • clean - cleans everything
    • clean-externals - cleans externals only
    • clean-managed - cleans managed libraries/samples only

Compare Code

Here are some links to show the differences in our code as compared to Google's.

What version are we on? m54
Are we up-to-date with Google? Compare
What have we added? Compare

Where is Windows Phone 8 / Store 8

We are working to add binaries for these platforms, stay tuned for a future release (or check the pull requests and branches, where we are working on those)