SkiaSharp-Grafiken in Xamarin.Forms

Download Sample Das Beispiel herunterladen

Verwenden von SkiaSharp für 2D-Grafiken in Ihren Xamarin.Forms Anwendungen

SkiaSharp ist ein 2D-Grafiksystem für .NET und C# mit dem Open-Source-Skia-Grafikmodul, das umfassend in Google-Produkten verwendet wird. Sie können SkiaSharp in Ihren Xamarin.Forms Anwendungen verwenden, um 2D-Vektorgrafiken, Bitmaps und Text zu zeichnen.

In diesem Leitfaden wird davon ausgegangen, dass Sie mit Xamarin.Forms der Programmierung vertraut sind.

SkiaSharp Preliminaries

SkiaSharp für Xamarin.Forms ist als NuGet Paket verpackt. Nachdem Sie eine Xamarin.Forms Lösung 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 ihrer Lösung hinzuzufügen. Wenn Sie den Abschnitt "Verweise" jedes Projekts nach dem Hinzufügen von SkiaSharp überprüfen, können Sie sehen, dass verschiedene SkiaSharp-Bibliotheken den einzelnen Projekten in der Lösung hinzugefügt wurden.

Wenn Ihre Xamarin.Forms Anwendung auf iOS ausgerichtet ist, bearbeiten Sie ihre Info.plist-Datei , um das Mindestbereitstellungsziel in iOS 8.0 zu ändern.

Auf jeder C#-Seite, die SkiaSharp verwendet, möchten Sie eine using Richtlinie für den SkiaSharp Namespace einschließen, die alle SkiaSharp-Klassen, Strukturen und Aufzählungen umfasst, die Sie in Ihrer Grafikprogrammierung verwenden. Sie möchten auch eine using Richtlinie für den SkiaSharp.Views.Forms Namespace für die klassenspezifischen Xamarin.FormsKlassen verwenden. Dies ist ein viel kleinerer Namespace, wobei die wichtigste Klasse SKCanvasViewist. Diese Klasse abgeleitet von der Xamarin.FormsView Klasse und hostet Ihre SkiaSharp-Grafikausgabe.

Wichtig

Der SkiaSharp.Views.Forms Namespace enthält auch eine SKGLView Klasse, die von View OpenGL abgeleitet wird, um Grafiken rendern zu können. Zur Einfachheit beschränkt sich dieser Leitfaden auf SKCanvasViewsich selbst, aber die Verwendung SKGLView ist ziemlich ähnlich.

Grundlagen von SkiaSharp-Zeichnungen

Einige der einfachsten Grafikfiguren, die Sie mit SkiaSharp zeichnen können, sind Kreise, Ovale und Rechtecks. In der Anzeige dieser Zahlen erfahren Sie mehr über SkiaSharp-Koordinaten, Größen und Farben. Die Anzeige von Text und Bitmaps ist komplexer, aber diese Artikel führen auch diese Techniken ein.

SkiaSharp-Linien und -Pfade

Ein Grafikpfad ist eine Reihe verbundener gerader Linien und Kurven. Pfade können gestrichelt, gefüllt oder beides gestrichelt werden. Dieser Artikel umfasst viele Aspekte der Linienzeichnung, einschließlich Strichen und Verknüpfungen, und gestrichelte und gepunktete Linien, hält jedoch kurz vor Kurvengeometrien.

SkiaSharp-Transformationen

Transformationen ermöglichen es Grafikobjekten, einheitlich übersetzt, skaliert, gedreht oder gedreht zu werden. In diesem Artikel wird auch gezeigt, wie Sie eine Standardtransformationsmatrix für die Erstellung von nicht affinen Transformationen und das Anwenden von Transformationen auf Pfade verwenden können.

SkiaSharp-Kurven und -Pfade

Die Erforschung von Pfaden wird fortgesetzt, indem Sie Kurven zu einem Pfadobjekt hinzufügen und andere leistungsstarke Pfadfeatures ausnutzen. Sie sehen, wie Sie einen gesamten Pfad in einer prägnanten Textzeichenfolge angeben können, wie Sie Pfadeffekte verwenden und wie Sie in Pfadinterne eingraben können.

SkiaSharp-Bitmaps

Bitmaps sind rechteckige Arrays von Bits, die den Pixeln eines Anzeigegeräts entsprechen. In dieser Artikelreihe wird gezeigt, wie Sie SkiaSharp-Bitmaps laden, speichern, anzeigen, erstellen, zeichnen, animieren und auf die Bits von SkiaSharp-Bitmaps zugreifen.

SkiaSharp-Effekte

Effekte sind Eigenschaften, die die normale Anzeige von Grafiken ändern, einschließlich linearer und kreisförmiger Farbverlauf, Bitmap-Kacheln, Blendmodi, Blur und andere.