IRONSOFTWAREHOME

在 .NET Framework 中將 AnyBitmap 轉換為 System.Drawing.Bitmap

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

在 .NET Framework 桌上型應用程式如 WinForms 中,直接將 IronBarcode AnyBitmap 指派給 System.Drawing.Image 或 Bitmap 會在編譯時失敗。常見的情況是將生成的條碼綁定到 PictureBox,而該物件只接受 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.Bitmap 或 Image,但僅限於 .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擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備好開始了嗎?

Nuget Downloads 2,452,240版本:2026.9剛剛發布

立即獲取您的免費30天試用金鑰。
不需要信用卡或帳戶建立
Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費即時演示
Booking Badge

全球數百萬工程師信賴

Iron Software的客戶標誌
獲取您的無義務諮詢
完成下方表單或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
全球數百萬工程師信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立