【问题标题】:Loading an image in a Blazor Client-side App在 Blazor 客户端应用程序中加载图像
【发布时间】:2021-11-14 09:18:18
【问题描述】:

我有一个 Blazor 客户端应用程序,我正在尝试加载嵌入的图像:

var stream = Assembly
    .GetExecutingAssembly()
    .GetManifestResourceStream("myimg.jpg");

//System.Drawing.Graphics.FromImage(null);
//var bmp = new Bitmap(stream);

我遇到的问题是,注释的代码行都不能在 Blazor 应用程序中使用(它们在浏览器中不起作用)。有没有办法解决这个问题?

【问题讨论】:

  • 你想对图像做什么?
  • 我要裁剪,然后显示到屏幕上

标签: c# blazor embedded-resource system.drawing


【解决方案1】:

System.Drawing.Graphics 命名空间不是 .NET Core 3.1 或 NET 5 的一部分。

它最初是在 .NET Framework 中(您可能从那里获得示例代码)——这是因为它基于 Windows GDI 系统,而 .NET Core 是跨平台的,不能依赖存在的 GDI(例如 Mac /Linux)。

您可以使用一些库,因为有一个提供此功能的 NUGET 包:https://www.nuget.org/packages/System.Drawing.Common

但它并不总是即插即用:可能存在特定于平台的要求,请参阅https://www.hanselman.com/blog/how-do-you-use-systemdrawing-in-net-core 以获取更多帮助。

【讨论】:

  • 我使用的实际上是 System.Drawing.Common。我收到一条警告,告诉我“浏览器”不支持它
猜你喜欢
  • 2020-08-27
  • 2021-04-05
  • 2020-05-17
  • 2020-08-31
  • 2019-10-09
  • 2020-12-18
  • 2022-08-24
  • 2020-04-03
  • 1970-01-01
相关资源
最近更新 更多