Dépannage d'une ancienne version de System.Drawing

This article was translated from English: Does it need improvement?
Translated
View the article in English

le projet .NET 4.6.1 à .NET 4.8 est livré avec la version 4.0.0\ de System.Drawing intégrée. Cette version de System.Drawing n'est plus supportée et peut contenir du code vulnérable.

Essayer d'instancier OcrInput à partir de System.Drawing.Image va générer "_IronOcr.Exceptions.IronOcrProductException : 'Unable to parse Object'" [] ceci est dû au fait qu'IronOCR n'a pas pu reconnaître System.Drawing.Image comme un type d'entrée valide"

Essayer de spécifier un type d'entrée d'image comme OcrInput(Image : image) l'erreur "cannot convert from System.Drawing.Image to SixLabors.ImageSharp.Image" sera déclenchée

Solution possible

  • Mise à jour de System.Drawing.Common vers la version 6.0.0

    Une version plus ancienne de System.Drawing n'est plus prise en charge et peut contenir du code vulnérable.

  • Utilisez SixLabors.ImageSharp version 2.1.3

    OcrInput peut être instancié avec le type SixLabors.ImageSharp.Image.

var Ocr = new IronTesseract();

    Image image = Image.Load("image.jpg");

    using (var Input = new OcrInput(image))

    {

        var Result = Ocr.Read(Input);

        Console.WriteLine(Result.Text);

    }
var Ocr = new IronTesseract();

    Image image = Image.Load("image.jpg");

    using (var Input = new OcrInput(image))

    {

        var Result = Ocr.Read(Input);

        Console.WriteLine(Result.Text);

    }
Dim Ocr = New IronTesseract()

	Dim image As Image = System.Drawing.Image.Load("image.jpg")

	Using Input = New OcrInput(image)


		Dim Result = Ocr.Read(Input)

		Console.WriteLine(Result.Text)

	End Using
VB   C#