SkiaSharp-Grafiken in Xamarin.Forms

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

SkiaSharp ist ein 2D-Grafiksystem für .NET und C#, das von der Open-Source-Skia-Grafikmaschine unterstützt wird, die 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 Handbuch wird davon ausgegangen, dass Sie mit Xamarin.Forms der Programmierung vertraut sind.

SkiaSharp Preliminaries

SkiaSharp für Xamarin.Forms wird als NuGet-Paket verpackt. Nachdem Sie eine Xamarin.Forms Projektmappe in Visual Studio oder Visual Studio für Mac erstellt haben, können Sie den NuGet-Paket-Manager verwenden, um nach dem Paket "SkiaSharp.Views.Forms" zu suchen und sie 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 zu den einzelnen Projekten in der Projektmappe verschiedene SkiaSharp-Bibliotheken hinzugefügt wurden.

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

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 Grafikprogrammierung verwenden werden. Sie möchten auch eine using Direktive für den SkiaSharp.Views.Forms Namespace für die klassen spezifisch für Xamarin.Forms. Dies ist ein viel kleinerer Namespace, wobei die wichtigste Klasse ist SKCanvasView. Diese Klasse wird von der Xamarin.FormsView Klasse abgeleitet und hostet Ihre SkiaSharp-Grafikausgabe.

Wichtig

Der SkiaSharp.Views.Forms Namespace enthält auch eine SKGLView Klasse, die von openGL zum Rendern von View Grafiken abgeleitet wird. Aus Gründen der 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 Rechtecke. Bei der Anzeige dieser Abbildungen erfahren Sie mehr über SkiaSharp-Koordinaten, -Größen und -Farben. Die Anzeige von Text und Bitmaps ist komplexer, aber in diesen Artikeln werden auch diese Techniken vorgestellt.

SkiaSharp-Linien und -Pfade

Ein Grafikpfad ist eine Reihe verbundener gerader Linien und Kurven. Pfade können Striche, gefüllt oder beides sein. Dieser Artikel umfasst viele Aspekte der Linienzeichnung, einschließlich Strichenden und Verknüpfungen sowie gestrichelte und gepunktete Linien, stoppt jedoch kurz vor Kurvengeometrien.

SkiaSharp-Transformationen

Mit Transformationen können Grafikobjekte einheitlich übersetzt, skaliert, gedreht oder verzerrt werden. In diesem Artikel wird auch gezeigt, wie Sie eine standardmäßige 3:3-Transformationsmatrix verwenden können, um nicht affine Transformationen zu erstellen und Transformationen auf Pfade anzuwenden.

SkiaSharp-Kurven und -Pfade

Die Erkundung von Pfaden setzt fort, indem Kurven zu einem Pfadobjekt hinzugefügt und andere leistungsstarke Pfadfeatures ausgenutzt werden. Sie werden sehen, wie Sie einen gesamten Pfad in einer präzisen Textzeichenfolge angeben können, wie Pfadeffekte verwendet werden, und wie Sie pfadinterne Pfade eingraben.

SkiaSharp-Bitmaps

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

SkiaSharp Effekte

Effekte sind Eigenschaften, die die normale Anzeige von Grafiken ändern, einschließlich linearer und kreisförmiger Farbverläufe, Bitmap-Tiling, Blendmodi, Weichzeichner und andere.