Skiasharp-Grafiken in :::no-loc(Xamarin.Forms):::SkiaSharp Graphics in :::no-loc(Xamarin.Forms):::

Beispiel herunterladen Das Beispiel herunterladenDownload Sample Download the sample

Verwenden von skiasharp für 2D-Grafiken in Ihren :::no-loc(Xamarin.Forms)::: AnwendungenUse SkiaSharp for 2D graphics in your :::no-loc(Xamarin.Forms)::: applications

Skiasharp ist ein 2D-Grafiksystem für .net und c#, das von der Open Source-Skia-Grafik-Engine genutzt wird, die in Google-Produkten häufig verwendet wird.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. Sie können skiasharp in Ihren :::no-loc(Xamarin.Forms)::: Anwendungen verwenden, um 2D-Vektorgrafiken, Bitmaps und Text zu zeichnen.You can use SkiaSharp in your :::no-loc(Xamarin.Forms)::: applications to draw 2D vector graphics, bitmaps, and text.

In dieser Anleitung wird davon ausgegangen, dass Sie mit der Programmierung vertraut sind :::no-loc(Xamarin.Forms)::: .This guide assumes that you are familiar with :::no-loc(Xamarin.Forms)::: programming.

Webinar: skiasharp für :::no-loc(Xamarin.Forms):::Webinar: SkiaSharp for :::no-loc(Xamarin.Forms):::

Skiasharp-VorbereitungenSkiaSharp Preliminaries

Skiasharp für :::no-loc(Xamarin.Forms)::: ist als nuget-Paket verpackt.SkiaSharp for :::no-loc(Xamarin.Forms)::: is packaged as a NuGet package. Nachdem Sie eine Projekt Mappe :::no-loc(Xamarin.Forms)::: in Visual Studio oder Visual Studio für Mac erstellt haben, können Sie den nuget-Paket-Manager verwenden, um nach dem skiasharp. views. Forms -Paket zu suchen und es der Projekt Mappe hinzuzufügen.After you've created a :::no-loc(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. Wenn Sie nach dem Hinzufügen von skiasharp den Abschnitt Verweise der einzelnen Projekte überprüfen, können Sie sehen, dass jedem Projekt in der Projekt Mappe verschiedene skiasharp -Bibliotheken hinzugefügt wurden.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.

Wenn Ihre :::no-loc(Xamarin.Forms)::: Anwendung auf IOS ausgerichtet ist, bearbeiten Sie die Datei " Info. plist ", um das minimale Bereitstellungs Ziel in ios 8,0 zu ändern.If your :::no-loc(Xamarin.Forms)::: application targets iOS, edit its Info.plist file to change the minimum deployment target to iOS 8.0.

Auf jeder c#-Seite, die skiasharp verwendet, sollten Sie eine- using Direktive für den- SkiaSharp Namespace einschließen, die alle skiasharp-Klassen,-Strukturen und-Enumerationen umfasst, die Sie in der Grafik Programmierung verwenden.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. Außerdem benötigen Sie eine- using Direktive für den- SkiaSharp.Views.Forms Namespace für die Klassen, die für spezifisch sind :::no-loc(Xamarin.Forms)::: .You'll also want a using directive for the SkiaSharp.Views.Forms namespace for the classes specific to :::no-loc(Xamarin.Forms):::. Dabei handelt es sich um einen viel kleineren Namespace, bei dem es sich um die wichtigste Klasse handelt SKCanvasView .This is a much smaller namespace, with the most important class being SKCanvasView. Diese Klasse wird von der :::no-loc(Xamarin.Forms)::: View -Klasse abgeleitet und hostet ihre skiasharp-Grafikausgabe.This class derives from the :::no-loc(Xamarin.Forms)::: View class and hosts your SkiaSharp graphics output.

Wichtig

Der- SkiaSharp.Views.Forms Namespace enthält auch eine- SKGLView Klasse, die von abgeleitet ist, View aber zum Rendern von Grafiken OpenGL verwendet.The SkiaSharp.Views.Forms namespace also contains an SKGLView class that derives from View but uses OpenGL for rendering graphics. Aus Gründen der Einfachheit beschränkt sich dieses Handbuch auf SKCanvasView , aber die Verwendung von SKGLView stattdessen ist ziemlich ähnlich.For purposes of simplicity, this guide restricts itself to SKCanvasView, but using SKGLView instead is quite similar.

Grundlagen von SkiaSharp-ZeichnungenSkiaSharp Drawing Basics

Einige der einfachsten Grafik Abbildungen, die Sie mit skiasharp zeichnen können, sind Kreise, ovale und Rechtecke.Some of the simplest graphics figures you can draw with SkiaSharp are circles, ovals, and rectangles. Wenn Sie diese Abbildungen anzeigen, erfahren Sie mehr über skiasharp-Koordinaten,-Größen und-Farben.In displaying these figures, you will learn about SkiaSharp coordinates, sizes, and colors. Die Anzeige von Text und Bitmaps ist komplexer. in diesen Artikeln werden diese Verfahren jedoch ebenfalls vorgestellt.The display of text and bitmaps is more complex, but these articles also introduce those techniques.

SkiaSharp-Linien und -PfadeSkiaSharp Lines and Paths

Bei einem Grafik Pfad handelt es sich um eine Reihe verbundener gerader Linien und Kurven.A graphics path is a series of connected straight lines and curves. Pfade können mit Strichen, gefüllt oder beides gezeichnet werden.Paths can be stroked, filled, or both. Dieser Artikel umfasst viele Aspekte der Zeilen Zeichnung, einschließlich Strich enden und Joins sowie gestrichelte und gepunktete Linien, hält aber nur wenige Kurven Geometrien an.This article encompasses many aspects of line drawing, including stroke ends and joins, and dashed and dotted lines, but stops short of curve geometries.

SkiaSharp-TransformationenSkiaSharp Transforms

Mit Transformationen können Grafik Objekte einheitlich übersetzt, skaliert, gedreht oder verzerrt werden.Transforms allow graphics objects to be uniformly translated, scaled, rotated, or skewed. In diesem Artikel wird auch erläutert, wie Sie eine standardmäßige 3-by-3-Transformationsmatrix zum Erstellen von nicht affinen Transformationen und zum Anwenden von Transformationen auf Pfade verwenden können.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.

SkiaSharp-Kurven und -PfadeSkiaSharp Curves and Paths

Durch das Durchsuchen von Pfaden wird das Hinzufügen von Kurven zu Pfad Objekten und das ausnutzen anderer leistungsfähiger Pfad Funktionen fortgesetzt.The exploration of paths continues with adding curves to a path objects, and exploiting other powerful path features. Sie werden erfahren, wie Sie einen vollständigen Pfad in einer präzisen Text Zeichenfolge angeben, wie Sie Pfad Effekte verwenden können und wie Sie in Pfad internale untersuchen können.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.

SkiaSharp-BitmapsSkiaSharp Bitmaps

Bitmaps sind rechteckige Arrays von Bits, die den Pixeln eines Anzeige Geräts entsprechen.Bitmaps are rectangular arrays of bits corresponding to the pixels of a display device. Diese Artikel Reihe zeigt, wie die Bits von skiasharp-Bitmaps geladen, gespeichert, angezeigt, erstellt, gezeichnet, animiert und darauf zugegriffen wird.This series of articles shows how to load, save, display, create, draw on, animate, and access the bits of SkiaSharp bitmaps.

Skiasharp-EffekteSkiaSharp Effects

Effekte sind Eigenschaften, die die normale Darstellung von Grafiken ändern, einschließlich linearer und Zirkel Gradienten, Bitmap-tiult, Blend-Modi, weich Zeichen und anderen.Effects are properties that alter the normal display of graphics, including linear and circular gradients, bitmap tiling, blend modes, blur, and others.