Ponowne używanie kodu SkiaSharp na platformie .NET MAUI
SkiaSharp to system grafiki 2D dla platformy .NET i języka C#, który rysuje grafikę wektorową 2D, mapy bitowe i tekst. Jest zasilany przez aparat graficzny Skia typu open source, który jest szeroko używany w produktach Google. Możesz ponownie użyć kodu SkiaSharp z aplikacji platformy Xamarin.Forms w aplikacjach interfejsu użytkownika aplikacji wieloplatformowych platformy .NET (.NET MAUI) z niewielkimi aktualizacjami.
Aby ponownie użyć kodu SkiaSharp z aplikacji platformy Xamarin.Forms w aplikacji .NET MAUI, musisz:
- Usuń pakiety NuGet platformy Xamarin.Forms SkiaSharp z projektu i dodaj do projektu pakiety NuGet .NET MAUI SkiaSharp.
- Aktualizowanie przestrzeni nazw.
- Zainicjuj SkiaSharp.
Dodawanie pakietów NuGet
Pakiet SkiaSharp dla platformy .NET MAUI jest pakowany jako seria pakietów NuGet. Po przeprowadzeniu migracji aplikacji platformy Xamarin.Forms do aplikacji .NET MAUI należy usunąć wszystkie istniejące pakiety NuGet SkiaSharp z aplikacji. Następnie użyj menedżera pakietów NuGet, aby wyszukać pakiet NuGet SkiaSharp.Views.Maui.Controls i dodać go do projektu. Spowoduje to również zainstalowanie zależnych pakietów SkiaSharp.
Aktualizowanie przestrzeni nazw
Aplikacje platformy Xamarin.Forms korzystające z biblioteki SkiaSharp zwykle używają typów z SkiaSharp przestrzeni nazw i SkiaSharp.Views.Forms przestrzeni nazw. W usłudze SkiaSharp dla platformy .NET MAUI będziesz nadal używać SkiaSharp przestrzeni nazw, ale typy, które znajdowały się w SkiaSharp.Views.Forms przestrzeni nazw, zostały przeniesione do SkiaSharp.Views.Maui przestrzeni nazw i SkiaSharp.Views.Maui.Controls .
W poniższej tabeli przedstawiono przestrzenie nazw, których należy użyć do skompilowania kodu SkiaSharp w aplikacji .NET MAUI:
Przestrzeń nazw .NET MAUI | Szczegóły |
---|---|
SkiaSharp | Zawiera wszystkie klasy, struktury i wyliczenia SkiaSharp. |
SkiaSharp.Views.Maui | Zawiera typy do obsługi interakcji dotykowych i argumentów zdarzeń. |
SkiaSharp.Views.Maui.Controls | Zawiera klasę SKCanvasView pochodzącą z klasy .NET MAUI View i hostuje dane wyjściowe grafiki SkiaSharp. Zawiera również różne ImageSource klasy. |
SkiaSharp.Views.Maui.Controls.Hosting | Zawiera metodę UseSkiaSharp używaną do inicjowania biblioteki SkiaSharp w aplikacji .NET MAUI. Aby uzyskać więcej informacji, zobacz Initialize SkiaSharp. |
Inicjowanie skiaSharp
Zainicjuj skiaSharp w aplikacji, wywołując metodę UseSkiaSharp w MauiAppBuilder obiekcie w MauiProgram
klasie:
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();
}
}
Uwaga
UseSkiaSharp Wywołanie metody wymaga dodania using
dyrektywy dla SkiaSharp.Views.Maui.Controls.Hosting
przestrzeni nazw.