Aracılığıyla paylaş


.NET MAUI'de SkiaSharp kodunu yeniden kullanma

SkiaSharp, .NET ve C# için 2B vektör grafikleri, bit eşlemler ve metin çizen bir 2B grafik sistemidir. Google ürünlerinde yaygın olarak kullanılan açık kaynak Skia grafik motoruyla desteklenir. Xamarin.Forms uygulamalarınızdaki SkiaSharp kodunu bazı küçük güncelleştirmelerle .NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI) uygulamalarınızda yeniden kullanabilirsiniz.

Bir Xamarin.Forms uygulamasındaki SkiaSharp kodunuzu bir .NET MAUI uygulamasında yeniden kullanmak için:

  • Projenizden Xamarin.Forms SkiaSharp NuGet paketlerini kaldırın ve .NET MAUI SkiaSharp NuGet paketlerini projenize ekleyin.
  • Ad alanlarını güncelleştirin.
  • SkiaSharp'ı başlatın.

NuGet ekleme

.NET MAUI için SkiaSharp, bir dizi NuGet paketi olarak paketlenmiş. Xamarin.Forms uygulamanızı bir .NET MAUI uygulamasına geçirdikten sonra, mevcut tüm SkiaSharp NuGet paketlerini uygulamanızdan kaldırmanız gerekir. Ardından, SkiaSharp.Views.Maui.Controls NuGet paketini aramak ve projenize eklemek için NuGet paket yöneticisini kullanın. Bu, bağımlı SkiaSharp paketlerini de yükler.

Ad alanlarını güncelleştirme

SkiaSharp kullanan Xamarin.Forms uygulamaları genellikle ad alanından ve SkiaSharp.Views.Forms ad alanından SkiaSharp türleri kullanır. .NET MAUI için SkiaSharp'ta ad alanını kullanmaya SkiaSharp devam edersiniz, ancak ad alanında yer SkiaSharp.Views.Forms alan türler ve SkiaSharp.Views.Maui.Controls ad alanlarına taşındıSkiaSharp.Views.Maui.

Aşağıdaki tabloda SkiaSharp kodunuzu bir .NET MAUI uygulamasında oluşturmak için kullanmanız gereken ad alanları gösterilmektedir:

.NET MAUI ad alanı Ayrıntılar
SkiaSharp Tüm SkiaSharp sınıflarını, yapılarını ve numaralandırmalarını içerir.
SkiaSharp.Views.Maui Dokunma etkileşimlerini ve olay bağımsız değişkenlerini destekleyen türler içerir.
SkiaSharp.Views.Maui.Controls SKCanvasView.NET MAUI View sınıfından türetilen ve SkiaSharp grafik çıkışınızı barındıran sınıfını içerir. Ayrıca farklı ImageSource sınıflar da içerir.
SkiaSharp.Views.Maui.Controls.Hosting UseSkiaSharp.NET MAUI uygulamanızda SkiaSharp'ı başlatmak için kullanılan yöntemi içerir. Daha fazla bilgi için bkz . SkiaSharp'ı başlatma.

SkiaSharp'ı başlatma

Sınıfınızdaki nesnede yöntemini MauiAppBuilder çağırarak UseSkiaSharp uygulamanızda MauiProgram SkiaSharp'ı başlatın:

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();
    }
}

Dekont

yöntemini çağırmak UseSkiaSharp için ad alanı için SkiaSharp.Views.Maui.Controls.Hosting bir using yönerge eklemeniz gerekir.