Grafica SkiaSharp in Xamarin.FormsSkiaSharp Graphics in Xamarin.Forms

Scaricare l'esempio scaricare l'esempioDownload Sample Download the sample

Uso di SkiaSharp per la grafica 2D nelle applicazioni xamarin. FormsUse SkiaSharp for 2D graphics in your Xamarin.Forms applications

SkiaSharp è un sistema di grafica 2D per .NET e c# con tecnologia il motore della grafica Skia open source che viene ampiamente usato nei prodotti di Google.SkiaSharp is a 2D graphics system for .NET and C# powered by the open-source Skia graphics engine that is used extensively in Google products. È possibile usare SkiaSharp nelle applicazioni xamarin. Forms per disegnare il testo, bitmap e la grafica vettoriale 2D.You can use SkiaSharp in your Xamarin.Forms applications to draw 2D vector graphics, bitmaps, and text. Vedere le disegno 2D Guida per informazioni più generali sulla libreria di SkiaSharp e alcune altre esercitazioni.See the 2D Drawing guide for more general information about the SkiaSharp library and some other tutorials.

Questa guida si presuppone che abbia familiarità con la programmazione di xamarin. Forms.This guide assumes that you are familiar with Xamarin.Forms programming.

Webinar SkiaSharp per Novell. FormsWebinar: SkiaSharp for Xamarin.Forms

Operazioni preliminari di SkiaSharpSkiaSharp Preliminaries

SkiaSharp per xamarin. Forms viene fornito come un pacchetto NuGet.SkiaSharp for Xamarin.Forms is packaged as a NuGet package. Dopo aver creato una soluzione xamarin. Forms in Visual Studio o Visual Studio per Mac, è possibile usare Gestione pacchetti NuGet cercare il SkiaSharp.Views.Forms del pacchetto e aggiungerlo alla soluzione.After you've created a Xamarin.Forms solution in Visual Studio or Visual Studio for Mac, you can use the NuGet package manager to search for the SkiaSharp.Views.Forms package and add it to your solution. Se si seleziona il riferimenti sezione di ogni progetto dopo l'aggiunta di SkiaSharp, è possibile vedere che vari SkiaSharp librerie sono stati aggiunti a ogni progetto nella soluzione.If you check the References section of each project after adding SkiaSharp, you can see that various SkiaSharp libraries have been added to each of the projects in the solution.

Se l'applicazione xamarin. Forms è destinata a iOS, usare la pagina delle proprietà di progetto per modificare la destinazione di distribuzione minima a iOS 8.0.If your Xamarin.Forms application targets iOS, use the project properties page to change the minimum deployment target to iOS 8.0.

In qualsiasi pagina di c# che utilizza SkiaSharp è opportuno includere una using direttiva per il SkiaSharp dello spazio dei nomi, che comprenda tutti di SkiaSharp classi, strutture ed enumerazioni che verrà usato negli elementi grafici la programmazione.In any C# page that uses SkiaSharp you'll want to include a using directive for the SkiaSharp namespace, which encompasses all the SkiaSharp classes, structures, and enumerations that you'll use in your graphics programming. Sarà inoltre necessario un using direttiva per il SkiaSharp.Views.Forms dello spazio dei nomi per le classi specifiche di xamarin. Forms.You'll also want a using directive for the SkiaSharp.Views.Forms namespace for the classes specific to Xamarin.Forms. Si tratta di una quantità minore dello spazio dei nomi, con la classe più importante in fase SKCanvasView .This is a much smaller namespace, with the most important class being SKCanvasView. Questa classe deriva da xamarin. Forms View classe e ospita l'output dei grafici SkiaSharp.This class derives from the Xamarin.Forms View class and hosts your SkiaSharp graphics output.

Importante

Il SkiaSharp.Views.Forms dello spazio dei nomi contiene inoltre un' SKGLView classe che deriva da View ma Usa OpenGL per il rendering grafica.The SkiaSharp.Views.Forms namespace also contains an SKGLView class that derives from View but uses OpenGL for rendering graphics. Per motivi di semplicità, questa guida si limita a SKCanvasView, ma tramite SKGLView invece è abbastanza simile.For purposes of simplicity, this guide restricts itself to SKCanvasView, but using SKGLView instead is quite similar.

Nozioni di base sul disegno con SkiaSharpSkiaSharp Drawing Basics

Alcune delle figure di grafica più semplice, che è possibile disegnare con SkiaSharp sono cerchi, ovali e rettangoli.Some of the simplest graphics figures you can draw with SkiaSharp are circles, ovals, and rectangles. In visualizzazione di queste cifre, si apprenderà sulle coordinate SkiaSharp, dimensioni e colori.In displaying these figures, you will learn about SkiaSharp coordinates, sizes, and colors. La visualizzazione di testo e bitmap è più complessa, ma questi articoli introducono anche queste tecniche.The display of text and bitmaps is more complex, but these articles also introduce those techniques.

Linee e tracciati in SkiaSharpSkiaSharp Lines and Paths

Un percorso della grafica è una serie di curve e linee rette collegate.A graphics path is a series of connected straight lines and curves. I percorsi possono essere tracciati, riempita, o entrambi.Paths can be stroked, filled, or both. Questo articolo comprende molti aspetti del disegno di linee, tra cui tratto terminazioni e giunzioni e linee tratteggiate e linee tratteggiate, ma si interrompe le geometrie curva.This article encompasses many aspects of line drawing, including stroke ends and joins, and dashed and dotted lines, but stops short of curve geometries.

Trasformazioni di SkiaSharpSkiaSharp Transforms

Trasformazioni consentono agli oggetti di grafica in modo uniforme convertito, ridimensionata, ruotata o asimmetrici.Transforms allow graphics objects to be uniformly translated, scaled, rotated, or skewed. Questo articolo illustra inoltre come è possibile usare una matrice di trasformazione 3 per 3 standard per la creazione di trasformazioni non affini e applicando trasformazioni a percorsi.This article also shows how you can use a standard 3-by-3 transform matrix for creating non-affine transforms and applying transforms to paths.

Curve e tracciati in SkiaSharpSkiaSharp Curves and Paths

L'esplorazione dei percorsi continua con l'aggiunta di curve agli oggetti percorso e sfruttare altre funzionalità potenti percorso.The exploration of paths continues with adding curves to a path objects, and exploiting other powerful path features. Si noterà come è possibile specificare un percorso completo nella stringa di testo conciso, come utilizzare effetti per il tracciato e come approfondire meccanismi interni di percorso.You'll see how you can specify an entire path in a concise text string, how to use path effects, and how to dig into path internals.

Bitmap SkiaSharpSkiaSharp Bitmaps

Le bitmap sono matrici rettangolari di bit corrispondente per il pixel di un dispositivo di visualizzazione.Bitmaps are rectangular arrays of bits corresponding to the pixels of a display device. Questa serie di articoli illustra come caricare, salvare, visualizzare, creare, disegnare sul, aggiungere un'animazione e accedere i bit di SkiaSharp bitmap.This series of articles shows how to load, save, display, create, draw on, animate, and access the bits of SkiaSharp bitmaps.

Effetti di SkiaSharpSkiaSharp Effects

Gli effetti sono proprietà modificare la visualizzazione di grafica, incluse le sfumature lineari e circolari normal, bitmap per l'affiancamento, blend modalità, blur e ad altri utenti.Effects are properties that alter the normal display of graphics, including linear and circular gradients, bitmap tiling, blend modes, blur, and others.