SkiaSharp-Grafiken in Xamarin.Forms

Beispiel herunterladen 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#, das von der Open-Source-Grafik-Engine von Skia unterstützt wird, die in Google-Produkten häufig 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 der Xamarin.Forms Programmierung vertraut sind.

SkiaSharp Preliminaries

SkiaSharp für Xamarin.Forms wird als NuGet-Paket gepackt. 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 es Ihrer Projektmappe hinzuzufügen. Wenn Sie den Abschnitt Verweise jedes Projekts nach dem Hinzufügen von SkiaSharp überprüfen, können Sie sehen, dass zu jedem Projekt in der Projektmappe verschiedene SkiaSharp-Bibliotheken hinzugefügt wurden.

Wenn Ihre Xamarin.Forms Anwendung auf iOS ausgerichtet ist, bearbeiten Sie die Datei Info.plist , 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. Sie benötigen auch eine using -Direktive für den SkiaSharp.Views.Forms Namespace für die Klassen, die für spezifisch sind 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 abgeleitet wird, aber OpenGL zum Rendern von View Grafiken verwendet. Aus Gründen der Einfachheit beschränkt sich diese Anleitung auf SKCanvasView, 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. Wenn Sie diese Zahlen anzeigen, lernen Sie die Koordinaten, Größen und Farben von SkiaSharp kennen. Die Anzeige von Text und Bitmaps ist komplexer, aber in diesen Artikeln werden auch diese Techniken vorgestellt.

SkiaSharp-Linien und -Pfade

Ein Grafikpfad besteht aus einer Reihe von verbundenen geraden 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, hält jedoch kurz vor Kurvengeometrien an.

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-mal-3-Transformationsmatrix verwenden können, um nicht affine Transformationen zu erstellen und Transformationen auf Pfade anzuwenden.

SkiaSharp-Kurven und -Pfade

Die Erkundung von Pfaden wird mit dem Hinzufügen von Kurven zu einem Pfadobjekt und der Nutzung anderer leistungsstarker Pfadfeatures fortgesetzt. Sie werden sehen, wie Sie einen gesamten Pfad in einer präzisen Textzeichenfolge angeben, wie Pfadeffekte verwendet werden und wie Sie pfadinterne Elemente untersuchen.

SkiaSharp-Bitmaps

Bitmaps sind rechteckige Arrays von Bits, die den Pixeln eines Anzeigegeräts entsprechen. In dieser Artikelreihe erfahren Sie, 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, z. B. lineare und kreisförmige Farbverläufe, Bitmapkacheln, Mischmodi, Weichzeichner usw.