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 22fcbe7c57
Prevent the GC from collecting "this" and "pixels" (#1258)
* Prevent the GC from collection "this"
* GC.KeepAlive for cases where we only use pixels pointers
2020-04-29 03:51:45 +02:00
.github Update bug-report.md 2019-12-03 16:01:38 +02:00
binding Prevent the GC from collecting "this" and "pixels" (#1258) 2020-04-29 03:51:45 +02:00
cake Update all the build tools (#1175) 2020-03-14 03:24:10 +02:00
changelogs Update the docs and changelog 2020-02-27 17:52:54 +02:00
docs@644c51e87f Update the docs and changelog 2020-02-27 17:52:54 +02:00
externals Expose a generic, writable span for the pixels (#1242) 2020-04-23 02:02:27 +02:00
images Added a wide NuGet icon 2019-11-23 02:50:38 +02:00
native Use the correct URL for OpenJDK on Linux (#1245) 2020-04-22 23:36:42 +02:00
nuget Add the expected overload for newer versions XF.Tizen (#1117) 2020-03-15 15:24:45 +02:00
samples Add the expected overload for newer versions XF.Tizen (#1117) 2020-03-15 15:24:45 +02:00
scripts Build the new branches 2020-04-28 21:45:19 +02:00
source Prevent the GC from collecting "this" and "pixels" (#1258) 2020-04-29 03:51:45 +02:00
tests Always reference netstandard (#1250) 2020-04-26 10:29:35 +02:00
tools Update cake to 0.37 (#1215) 2020-04-08 00:42:57 +02:00
utils A few changes and improvements (#1153) 2020-02-27 15:12:00 +02:00
workbooks Set the version to v1.60.2 for the upcoming release 2018-05-29 23:35:10 +02:00
.editorconfig Use Span<T> for data, bitmap data and text blobs (#865) 2019-06-26 12:56:14 +02:00
.gitattributes Add a .gitattributes for the bash scripts 2018-07-20 00:00:19 +02:00
.gitignore Some of the colorspaces created are just references (#922) 2019-09-24 01:34:44 +02:00
.gitmodules HarfBuzzSharp 2.6.1 (#929) 2019-09-28 16:18:59 +02:00
CODE-OF-CONDUCT.md Link Code of Conduct (#1216) 2020-04-08 11:00:42 +02:00
External-Dependency-Info.txt Added the licensing information to the nugets 2018-02-23 04:19:30 +02:00
LICENSE.md updated the license 2018-02-23 04:20:37 +02:00
LICENSE.txt Moving more work into MSBuild 2018-03-20 05:01:37 +02:00
README.md Update README.md 2020-03-25 16:53:34 +02:00
VERSIONS.txt Update cake to 0.37 (#1215) 2020-04-08 00:42:57 +02:00
bootstrapper.ps1 Few changes for release (#850) 2019-05-24 07:14:37 +02:00
bootstrapper.sh Few changes for release (#850) 2019-05-24 07:14:37 +02:00
build.cake [WIP] Add GTK views for Xamarin.Forms (#1089) 2020-01-08 15:35:23 +02:00
cgmanifest.json Make sure all things are listed in cgmanifest.json (#1103) 2020-01-15 06:37:12 +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 HarfBuzzSharp
chat SkiaSharp API Docs HarfBuzzSharp API Docs SkiaSharp Guides
Build Status Build Status

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

Building SkiaSharp is mostly straight forward. The main issue is the multiple dependencies for each platform.

However, these are easy to install as they are found on the various websites. If you are just working on managed code, it is even easier as there mays to skip all the native builds.

  • To get started building, go here.
  • If you are just wanting a custom Linux build, go here

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