GithubHelp home page GithubHelp logo

derpate2010 / skiasharp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mono/skiasharp

0.0 2.0 0.0 6.06 MB

Support for the Skia Library

License: MIT License

Makefile 1.77% C# 93.69% Smalltalk 0.01% PowerShell 0.42% Shell 0.50% Objective-C 0.17% C++ 1.95% C 1.50%

skiasharp's Introduction

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:

  • 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

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? m56
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)

skiasharp's People

Contributors

agallero avatar bholmes avatar bratsche avatar charlenni avatar derpate2010 avatar espresso3389 avatar gentledepp avatar joelmartinez avatar kekekeks avatar mattleibow avatar mgnslndh avatar migueldeicaza avatar petergolde avatar tdenniston avatar tylerflick avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.