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 SKCanvasView
sich 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.