How to Read from System.Drawing Objects
System.Drawing.Bitmap is a class in the .NET Framework used for working with bitmap images. It provides methods and properties to create, manipulate, and display bitmap images.
System.Drawing.Image is a base class for all GDI+ image objects in the .NET Framework. It is the parent class for various image types, including System.Drawing.Bitmap.
IronSoftware.Drawing.AnyBitmap is a bitmap class in IronDrawing, an open-source library originally developed by Iron Software. It helps C# software engineers replace System.Drawing.Common
in .NET projects on Windows, macOS, and Linux platforms.
Get started with IronOCR
Start using IronOCR in your project today with a free trial.
How to Read from System.Drawing Objects
- Download a C# library for reading System.Drawing Objects
- Obtain System.Drawing objects such as Bitmap and Image
- Construct the OcrImageInput class using the acquired data
- Utilize AnyBitmap from Iron Software for Linux and macOS
- Define the reading area by specifying the crop region
Read System.Drawing.Bitmap Example
First, instantiate the IronTesseract class to perform OCR. Create a System.Drawing.Bitmap from one of the various methods. In the code example, I've decided to use a file path.
Next, use the 'using' statement to create the OcrImageInput object, passing the image from the System.Drawing.Bitmap object to it. Finally, use the Read
method to perform 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);
Read System.Drawing.Image Example
Reading from a System.Drawing.Image is as simple as creating the OcrImageInput object with the Image and then performing the standard OCR process using the Read
method.
: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);
Read IronSoftware.Drawing.AnyBitmap Example
Similarly, after creating or obtaining an AnyBitmap object, you can construct the OcrImageInput class. The constructor will take care of all the necessary steps to import the data. The code example below demonstrates this.
: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);
Specify Scan Region
In the construction of the OcrImageInput class, you can specify the area to scan. This allows you to define the specific region of the image document for OCR. Depending on the image document, specifying the scanning region can significantly enhance performance. In the provided code example, I specify that only the chapter number and title should be extracted.
: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);
OCR Result
