c# - 在 Blazor 客户端应用程序中加载图像
问题描述
我有一个 Blazor 客户端应用程序,我正在尝试加载嵌入式图像:
var stream = Assembly
.GetExecutingAssembly()
.GetManifestResourceStream("myimg.jpg");
//System.Drawing.Graphics.FromImage(null);
//var bmp = new Bitmap(stream);
我遇到的问题是,注释的代码行都不能在 Blazor 应用程序中使用(它们在浏览器中不起作用)。有没有解决的办法?
解决方案
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以获得更多帮助。
推荐阅读
- typescript - 尝试使用接口进行分配
- visual-studio-code - 我应该在哪里保存扩展数据以便我在更新扩展时可以检索这些数据?
- javascript - jQuery图形,根据输入的图表自定义不起作用
- angular - 如何在角度材料的数据源中设置值
- bash - 如何在 BASH 上运行一个使用 GNU 并行接受多个参数的 python 脚本?
- grammar - 如何设计避免重复的上下文无关语法?
- reactjs - 在 React 中关闭模式后将焦点发送到下拉列表
- r - 计算并汇总 ID 和购买日期,同时创建反映每天购买量和客户的第三列
- android - 它说“尝试加载库”然后应用程序退出而没有任何信息
- macos - 如何在使用 Chrome 和 macOS 的全屏模式下输入新的