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ı.

OcrInput(Image: image) gibi bir Image giriş türü belirtmeye çalışmak, "System.Drawing.Image'den SixLabors.ImageSharp.Image'ye dönüştürülemiyor" hatasını verecektir.

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.
OcrInput,SixLabors.ImageSharp.Imagetürüyle örneklenebilir.
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,
IronTesseract'nin bir örneğini başlatır,SixLabors.ImageSharpkullanarak bir dosyadan bir görüntü yükler ve ardından IronOCR ile görüntüyü işleyerek metni çıkarır.

