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 e84ba47396
Upgrade to VS2019 and .NET Core 3.0 (#1030)
* Upgraded a good few things
 - multitargeting for netstandard1.3, netstandard2.0, netcoreapp3.0 and net45
 - iOS, tvOS, macOS, watchOS now builds on non-macOS (not embedded binaries)
 - removed empty assembly infos
 - using Directory.Build.* to clean up a few things
 - improved the msbuild tasks to properly skip
* Add the targets file to the nuget
* Let all the tests run before failing the build
* Pack and validate in one go
* Update the samples to use the new projects
* Use VS 2017 for native builds for now
* Update Dockerfiles
* removed references from Views.WPF to OpenTK #1029 (#1078)
* Install the type redirector
* Update depot_tools
* Don't do any signing for macOS

Co-authored-by: Tyson Williams <34664007+bender2k14@users.noreply.github.com>
2019-12-22 18:50:47 +02:00
.github Update bug-report.md 2019-12-03 16:01:38 +02:00
binding Upgrade to VS2019 and .NET Core 3.0 (#1030) 2019-12-22 18:50:47 +02:00
cake Upgrade to VS2019 and .NET Core 3.0 (#1030) 2019-12-22 18:50:47 +02:00
changelogs Update the docs 2019-12-09 15:40:54 +02:00
docs@e6ac43de43 Update the docs 2019-12-09 15:40:54 +02:00
externals Upgrade to VS2019 and .NET Core 3.0 (#1030) 2019-12-22 18:50:47 +02:00
images Added a wide NuGet icon 2019-11-23 02:50:38 +02:00
native Improve the Docker samples (#1051) 2019-12-08 15:21:53 +02:00
nuget Upgrade to VS2019 and .NET Core 3.0 (#1030) 2019-12-22 18:50:47 +02:00
samples Upgrade to VS2019 and .NET Core 3.0 (#1030) 2019-12-22 18:50:47 +02:00
scripts Upgrade to VS2019 and .NET Core 3.0 (#1030) 2019-12-22 18:50:47 +02:00
source Upgrade to VS2019 and .NET Core 3.0 (#1030) 2019-12-22 18:50:47 +02:00
tests Upgrade to VS2019 and .NET Core 3.0 (#1030) 2019-12-22 18:50:47 +02:00
tools Update the docs and reduce diff (#979) 2019-10-17 14:29:31 +02:00
utils Upgrade to VS2019 and .NET Core 3.0 (#1030) 2019-12-22 18:50:47 +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
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 (#1043) 2019-12-02 21:02:06 +02:00
VERSIONS.txt Improve native build process + add Nano Server (#1040) 2019-12-04 03:12:12 +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 Improve the Docker samples (#1051) 2019-12-08 15:21:53 +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

Before building SkiaSharp:

  • Python 2.7 is available in the PATH environment variable on Windows
  • Android NDK r15 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