Opakované použití kódu SkiaSharp v .NET MAUI
SkiaSharp je 2D grafický systém pro .NET a C#, který nakreslí 2D vektorovou grafiku, rastrové obrázky a text. Je poháněn opensourcovým grafickým modulem Skia, který je široce používán v produktech Google. Kód SkiaSharp můžete znovu použít z aplikací Xamarin.Forms v uživatelském rozhraní multiplatformních aplikací .NET (.NET MAUI) s několika dílčími aktualizacemi.
Pokud chcete znovu použít kód SkiaSharp z aplikace Xamarin.Forms v aplikaci .NET MAUI, musíte:
- Odeberte balíčky NuGet Xamarin.Forms SkiaSharp z projektu a přidejte do projektu balíčky NuGet .NET MAUI SkiaSharp NuGet.
- Aktualizujte obory názvů.
- Inicializace SkiaSharp.
Přidání NuGetů
SkiaSharp pro .NET MAUI je zabalená jako řada balíčků NuGet. Po migraci aplikace Xamarin.Forms do aplikace .NET MAUI byste měli z aplikace odebrat všechny existující balíčky NuGet SkiaSharp. Pak pomocí správce balíčků NuGet vyhledejte balíček NuGet SkiaSharp.Views.Maui.Controls NuGet a přidejte ho do projektu. Tím se také nainstalují závislé balíčky SkiaSharp.
Aktualizace oborů názvů
Aplikace Xamarin.Forms, které používají SkiaSharp, obvykle používají typy z SkiaSharp oboru názvů a SkiaSharp.Views.Forms oboru názvů. Ve skiaSharpu pro .NET MAUI budete dál používat SkiaSharp obor názvů, ale typy, které byly v SkiaSharp.Views.Forms oboru názvů, se přesunuly do SkiaSharp.Views.Maui oborů názvů a SkiaSharp.Views.Maui.Controls oborů názvů.
Následující tabulka ukazuje obory názvů, které budete muset použít k sestavení kódu SkiaSharp v aplikaci .NET MAUI:
Obor názvů .NET MAUI | Detaily |
---|---|
SkiaSharp | Obsahuje všechny třídy, struktury a výčty SkiaSharp. |
SkiaSharp.Views.Maui | Obsahuje typy pro podporu dotykových interakcí a argumentů událostí. |
SkiaSharp.Views.Maui.Controls | SKCanvasView Obsahuje třídu, která je odvozena z třídy .NET MAUI View a hostuje výstup grafiky SkiaSharp. Obsahuje také různé ImageSource třídy. |
SkiaSharp.Views.Maui.Controls.Hosting | Obsahuje metodu UseSkiaSharp , která se používá k inicializaci SkiaSharp v aplikaci .NET MAUI. Další informace naleznete v tématu Inicializace skiaSharp. |
Inicializace SkiaSharpu
Inicializace SkiaSharp v aplikaci voláním UseSkiaSharp metody na MauiAppBuilder objektu ve vaší MauiProgram
třídě:
using Microsoft.Extensions.Logging;
using SkiaSharp.Views.Maui.Controls.Hosting;
namespace MyMauiApp;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseSkiaSharp()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
#if DEBUG
builder.Logging.AddDebug();
#endif
return builder.Build();
}
}
Poznámka:
UseSkiaSharp Volání metody vyžaduje přidání using
direktivy pro SkiaSharp.Views.Maui.Controls.Hosting
obor názvů.