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