在 Blazor 客户端应用程序中加载图像

Posted

技术标签:

【中文标题】在 Blazor 客户端应用程序中加载图像【英文标题】:Loading an image in a Blazor Client-side App 【发布时间】: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 应用程序中使用(它们在浏览器中不起作用)。有没有办法解决这个问题?

【问题讨论】:

你想对图像做什么? 我要裁剪,然后显示到屏幕上 【参考方案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。我收到一条警告,告诉我“浏览器”不支持它

以上是关于在 Blazor 客户端应用程序中加载图像的主要内容,如果未能解决你的问题,请参考以下文章

无法在 tvOS 应用程序中加载 LCR 图像

当枢轴选择更改时,如何在枢轴项目中加载图像后加载音频文件

使用 require 在 Angular 11 应用程序中加载图像

QML:在 GridView 中加载图像

如何实现 Asynctask 在 ArrayAdapter 中加载图像

在 tableView 中加载 iPhone 磁盘图像(像照片应用程序)