小编how*_*her的帖子

.NET 6/7 从 System.Drawing.Common 迁移到 Microsoft.Maui.Graphics

对于 .NET 7,System.Common.Drawing 不再在非 Windows 平台上使用。我喜欢将我的应用程序迁移到 Microsoft.Maui.Graphics(正如 Microsoft 在 .NET 6/7 的重大更改页面上建议的那样)。\n它们支持 Windows 上的 GDI+,这非常好,因为它可以最大限度地减少迁移的副作用。在 Linux 或 MacOS 上,我可以使用 SkiaImage 实现。

\n

然而它\xe2\x80\x99s不清楚如何实现这一点。目前的文档非常有限。从源代码中我找到了IImageLoaderServiceIImage 和几个实现。

\n

根据平台,我会注册权利IImageLoaderService,一切都应该正常。

\n
if (RuntimeInformation.IsOsPlatform(OsPlatform.Windows) \n{ \n  services.AddSingleton<IImageLoaderService, GDIImageLoaderService>()\n} \nelse \n{\nservices.AddSingleton<IImageLoaderService, SkiaImageLoaderService>()  \n}\n
Run Code Online (Sandbox Code Playgroud)\n

理论上到目前为止。但是,在引用Microsoft.Maui.GraphicsNuget 后,仅IImageLoaderService可用。

\n

如何GDIImageLoaderService在 Windows 上注册(或如何调用服务以使用 gdi+)?

\n

.net c# system.drawing .net-maui

5
推荐指数
1
解决办法
2449
查看次数

标签 统计

.net ×1

.net-maui ×1

c# ×1

system.drawing ×1