IRONSOFTWAREHOME

在.NET Framework中将AnyBitmap转换为System.Drawing.Bitmap

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

在.NET Framework桌面应用程序中,如WinForms,直接将IronBarcode AnyBitmap 赋值给System.Drawing.ImageBitmap 会在编译时失败。一个常见的情况是将生成的条形码绑定到System.Drawing.Image 对象。

Cannot implicitly convert type 'IronSoftware.Drawing.AnyBitmap' to 'System.Drawing.Image'
Text

下面的代码会触发错误:

var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
// These lines cause compile-time errors
Image myBarcodeImage = myBarcode.Image;
Bitmap myBarcodeBitmap = myBarcode.ToBitmap();
C#

BarcodeWriter.Image.ToBitmap() 都返回一个IronSoftware.Drawing.AnyBitmap。 该类型确实支持隐式转换为System.Drawing.BitmapImage,但仅在.NET 6、.NET 7、.NET 8或更高版本中支持。 在.NET Framework中,隐式操作符和内部类型桥接并不总是解决,尤其当类型来自不同的库或兼容性层时。

解决方案

选项1:安装System.Drawing.Common

添加System.Drawing.Common NuGet包,以便转换操作符可以在一致的绘图程序集上解析。

.NET CLI:

dotnet add package System.Drawing.Common
SHELL

包管理器控制台:

Install-Package System.Drawing.Common
SHELL

SDK风格的.csproj

<PackageReference Include="System.Drawing.Common" Version="8.0.0" />
XML

选项2:通过流转换

当您不想更改包引用时,通过一个与GDI兼容的流转换位图,并将结果传递给PictureBox

var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
myBarcode.ResizeTo(400, 100); // Optional resizing
using (var ms = myBarcode.ToWindowsBitmapStream())
{
    pictureBox1.Image = Image.FromStream(ms); // Works in .NET Framework
}
C#

ToWindowsBitmapStream()AnyBitmap 写入GDI兼容的图像格式,Image.FromStream 将该流解析为本机System.Drawing.Image

请注意: 如果您需要一个通用而不是Windows专用的流,也可以使用ToStream()序列化AnyBitmap。
Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 2,422,100版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 "IronBarcode"
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并将 IronBarCode 解压到解决方案目录中的 ~/Libs 等位置
  2. 在 Visual Studio 解决方案资源管理器中,右键单击引用。选择浏览,"IronBarcode.dll"

许可 $999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户