IronOCR 操作指南 System.Drawing 对象 如何在 C# 中读取 System.Drawing 对象 Curtis Chau 已更新:七月 22, 2025 下载 IronOCR NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English System.Drawing.Bitmap是 .NET Framework 中的一个类,用于处理位图图像。 它提供了创建、操作和显示位图图像的方法和属性。 System.Drawing.Image是 .NET Framework 中所有 GDI+ 图像对象的基类。 它是各种图像类型的父类,包括System.Drawing.Bitmap 。 IronSoftware.Drawing.AnyBitmap是IronDrawing中的一个位图类,IronDrawing 是一个开源库,最初由 Iron Software 开发。 它可以帮助 C# 软件工程师在 Windows、macOS 和 Linux 平台上的 .NET 项目中替换System.Drawing.Common 。 快速入门:从 System.Drawing.Bitmap 读取文本 只需一条简单的语句,即可创建一个IronTesseract ,并向其提供一个由OcrImageInput包装的System.Drawing.Bitmap ,以提取所有文本。 这个快速入门示例展示了 IronOCR 如何轻松地将图像转换为可读文本,只需极少的设置。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronOCR PM > Install-Package IronOcr 复制并运行这段代码。 var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrImageInput(new System.Drawing.Bitmap("image.png"))); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronOCR,免费试用! 免费试用30天 最小工作流程(5 个步骤) 下载用于读取 System.Drawing 对象的 C# 库 获取 System.Drawing 对象,如 Bitmap 和 Image 使用获取的数据构建 OcrImageInput 类 在 Linux 和 macOS 上利用 Iron Software 的 AnyBitmap 通过指定裁剪区域定义读取区域 读取 System.Drawing.Bitmap 示例 首先,实例化IronTesseract类以执行 OCR。 使用各种方法之一创建System.Drawing.Bitmap 。 在代码示例中,我决定使用文件路径。 接下来,使用using语句创建OcrImageInput对象,并将System.Drawing.Bitmap对象中的图像传递给它。 最后,使用Read方法执行 OCR。 :path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-bitmap.cs using IronOcr; using System.Drawing; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Read image file to Bitmap Bitmap bitmap = new Bitmap("Potter.tiff"); // Import System.Drawing.Bitmap using var imageInput = new OcrImageInput(bitmap); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); Imports IronOcr Imports System.Drawing ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Read image file to Bitmap Private bitmap As New Bitmap("Potter.tiff") ' Import System.Drawing.Bitmap Private imageInput = New OcrImageInput(bitmap) ' Perform OCR Private ocrResult As OcrResult = ocrTesseract.Read(imageInput) $vbLabelText $csharpLabel 读取 System.Drawing.Image 示例 从System.Drawing.Image读取图像非常简单,只需使用图像创建OcrImageInput对象,然后使用Read方法执行标准 OCR 过程即可。 :path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-image.cs using IronOcr; using Image = System.Drawing.Image; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Open image file as Image Image image = Image.FromFile("Potter.tiff"); // Import System.Drawing.Image using var imageInput = new OcrImageInput(image); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); Imports IronOcr Imports Image = System.Drawing.Image ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Open image file as Image Private image As Image = Image.FromFile("Potter.tiff") ' Import System.Drawing.Image Private imageInput = New OcrImageInput(image) ' Perform OCR Private ocrResult As OcrResult = ocrTesseract.Read(imageInput) $vbLabelText $csharpLabel 阅读 Iron Software.Drawing.AnyBitmap 示例 同样地,在创建或获取AnyBitmap对象之后,您可以构造OcrImageInput类。 构造函数将负责导入数据的所有必要步骤。 下面的代码示例演示了这一点。 :path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-anybitmap.cs using IronOcr; using IronSoftware.Drawing; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Open image file as AnyBitmap AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff"); // Import IronSoftware.Drawing.AnyBitmap using var imageInput = new OcrImageInput(anyBitmap); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); Imports IronOcr Imports IronSoftware.Drawing ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Open image file as AnyBitmap Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff") ' Import IronSoftware.Drawing.AnyBitmap Private imageInput = New OcrImageInput(anyBitmap) ' Perform OCR Private ocrResult As OcrResult = ocrTesseract.Read(imageInput) $vbLabelText $csharpLabel 指定扫描区域 在OcrImageInput类的构造中,您可以指定要扫描的区域。 这样就可以定义图像文档中用于 OCR 的特定区域。 根据图像文档的不同,指定扫描区域可以显著提高性能。 在提供的代码示例中,我指定只提取章节号和章节标题。 :path=/static-assets/ocr/content-code-examples/how-to/input-images-read-specific-region.cs using IronOcr; using IronSoftware.Drawing; using System; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Specify crop region Rectangle scanRegion = new Rectangle(800, 200, 900, 400); // Add image using var imageInput = new OcrImageInput("Potter.tiff", ContentArea: scanRegion); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); // Output the result to console Console.WriteLine(ocrResult.Text); Imports IronOcr Imports IronSoftware.Drawing Imports System ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Specify crop region Private scanRegion As New Rectangle(800, 200, 900, 400) ' Add image Private imageInput = New OcrImageInput("Potter.tiff", ContentArea:= scanRegion) ' Perform OCR Private ocrResult As OcrResult = ocrTesseract.Read(imageInput) ' Output the result to console Console.WriteLine(ocrResult.Text) $vbLabelText $csharpLabel OCR结果 常见问题解答 如何在 C# 中从位图图像中提取文本? 您可以通过首先创建 IronTesseract 类的实例来使用 IronOCR。然后,创建一个 System.Drawing.Bitmap 并将其传递给 OcrImageInput 对象。最后,使用 Read 方法提取文本。 OCR 任务中涉及读取 System.Drawing 对象的步骤是什么? 要使用 IronOCR 读取 System.Drawing 对象,请下载库、获取 System.Drawing 对象、构建 OcrImageInput 类,并在需要时定义裁剪区域。使用 AnyBitmap 以实现 Linux 和 macOS 的跨平台兼容性。 如何在 System.Drawing.Image 上执行 OCR? 要在 System.Drawing.Image 上执行 OCR,请使用图像创建 OcrImageInput 对象,并在 IronOCR 中执行 Read 方法。 在跨平台项目中使用 AnyBitmap 的好处是什么? Iron Software.Drawing.AnyBitmap 允许开发人员替换 System.Drawing.Common 以实现跨平台解决方案,使OCR功能能够在 Windows、macOS 和 Linux 上运行。 扫描区域如何改善 OCR 性能? 通过在 OcrImageInput 类中定义特定的扫描区域,可以将 OCR 工作专注于相关区域,从而显著提高性能和准确性。 IronOCR 与 Linux 和 macOS 兼容吗? 是的,使用 Iron Software.Drawing.AnyBitmap 时,IronOCR 与 Linux 和 macOS 兼容,为 OCR 任务提供跨平台解决方案。 如何指定图像中需要扫描的区域进行 OCR? 在 IronOCR 中,通过在 OcrImageInput 类中设置坐标和尺寸来指定扫描区域,从而通过专注于相关图像部分来提高 OCR 性能。 在 .NET OCR 项目中处理图像必不可少的类有哪些? .NET OCR 项目中,像 System.Drawing.Bitmap、System.Drawing.Image 和 Iron Software.Drawing.AnyBitmap 这样的类是处理图像的关键。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 审核者 Jeffrey T. Fritz 首席项目经理 - .NET 社区团队 Jeff 也是 .NET 和 Visual Studio 团队的首席项目经理。他是 .NET Conf 虚拟会议系列的执行制片人,并主持“Fritz and Friends”直播节目,每周两次与观众一起谈论技术并编写代码。Jeff 撰写研讨会、演示文稿并计划包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP 峰会在内的最大型微软开发者活动的内容。 准备开始了吗? Nuget 下载 5,167,857 | Version: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:5,167,857 查看许可证