Eski System.Drawing Sürümlerini IronOCR ile Kullanma
.NET 4.6.1'den .NET 4.8'e kadar olan projeler, desteklenmeyen ve savunmasız kod içerebilecek bir System.Drawing sürümü 4.0.0 ile birlikte gelir.
System.Drawing.Image'den OcrInput örneği oluşturmaya çalışmak, "Object [] öğesini geçerli bir görüntü dosyası olarak ayrıştırılamadı." istisnası atar. Bunun nedeni, IronOCR'un System.Drawing.Image'i geçerli bir giriş türü olarak tanımlayamaması.

Giriş tipi olarak OcrInput(Image: image) belirtmeye çalışmak, "System.Drawing.Image'den SixLabors.ImageSharp.Image'a dönüştürülemiyor" hatasını atar.

Olası Çözümler
-
System.Drawing.Common 6.0.0 sürümüne güncelleyin. System.Drawing'in eski sürümü desteklenmiyor ve savunmasız kod içerebilir.
- SixLabors.ImageSharp sürüm 2.1.3'ü kullanın.
OcrInputSixLabors.ImageSharp.Imagetipi ile başlatılabilir.
using IronOcr;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
class Program
{
static void Main()
{
var Ocr = new IronTesseract();
// Load the image using SixLabors.ImageSharp
Image image = Image.Load<Rgba32>("image.jpg");
// Use the image as input for OCR
using (var Input = new OcrInput(image))
{
// Perform OCR on the input
var Result = Ocr.Read(Input);
// Print the recognized text
Console.WriteLine(Result.Text);
}
}
}
using IronOcr;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
class Program
{
static void Main()
{
var Ocr = new IronTesseract();
// Load the image using SixLabors.ImageSharp
Image image = Image.Load<Rgba32>("image.jpg");
// Use the image as input for OCR
using (var Input = new OcrInput(image))
{
// Perform OCR on the input
var Result = Ocr.Read(Input);
// Print the recognized text
Console.WriteLine(Result.Text);
}
}
}
Imports IronOcr
Imports SixLabors.ImageSharp
Imports SixLabors.ImageSharp.PixelFormats
Friend Class Program
Shared Sub Main()
Dim Ocr = New IronTesseract()
' Load the image using SixLabors.ImageSharp
Dim image As Image = System.Drawing.Image.Load(Of Rgba32)("image.jpg")
' Use the image as input for OCR
Using Input = New OcrInput(image)
' Perform OCR on the input
Dim Result = Ocr.Read(Input)
' Print the recognized text
Console.WriteLine(Result.Text)
End Using
End Sub
End Class
- Yukarıdaki kod, bir
IronTesseractörneğini başlatır, bir dosyadanSixLabors.ImageSharpkullanarak bir görüntü yükler ve ardından metni çıkarmak için IronOCR ile görüntüyü işler.

