public RasterImage CreateThumbnail(int thumbnailWidth,int thumbnailHeight)
thumbnailWidth
The desired maximum width of the thumbnail image in pixels.
thumbnailHeight
The desired maximum height of the thumbnail image in pixels.
A RasterImage object that contains a thumbnail of this IOcrPage.
The thumbnail image returned from this image always contain the correct aspect ratio. The width and height of the thumbnail is guaranteed to be at least thumbnailWidth by thumbnailHeight in size but never exceeding that. The only time you get a thumbnail that is exactly thumbnailWidth by thumbnailHeight pixels is when this IOcrPage is a perfect square.
The thumbnail image returned from this method will always contain 24 bits per pixel for best possible quality.
One use of the thumbnail image of a page is if your application is a Windows Forms-based application containing the ImageViewer control. You can use CreateThumbnail to obtain thumbnails of the pages in the engine and use them as items to the ImageViewer. For an example, refer to the C# Main OCR Demo that ships with LEADTOOLS.
using Leadtools;using Leadtools.Codecs;using Leadtools.Ocr;using Leadtools.Forms.Common;using Leadtools.Document.Writer;using Leadtools.WinForms;using Leadtools.Drawing;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;public void OcrPageExample(){string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif");string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf");// Create an instance of the engineusing (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)){// Start the engine using default parametersocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);// Create an OCR documentusing (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument()){// Add this image to the documentIOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName, null);// Auto-recognize the zones in the pageocrPage.AutoZone(null);// Show its informationConsole.WriteLine("Size: {0} by {1} pixels", ocrPage.Width, ocrPage.Height);Console.WriteLine("Resolution: {0} by {1} dots/inch", ocrPage.DpiX, ocrPage.DpiX);Console.WriteLine("Bits/Pixel: {0}, Bytes/Line: {1}", ocrPage.BitsPerPixel, ocrPage.BytesPerLine);byte[] palette = ocrPage.GetPalette();int paletteEntries;if (palette != null)paletteEntries = palette.Length / 3;elsepaletteEntries = 0;Console.WriteLine("Number of entries in the palette: {0}", paletteEntries);Console.WriteLine("Original format of this page: {0}", ocrPage.OriginalFormat);Console.WriteLine("Has this page been recognized? : {0}", ocrPage.IsRecognized);ShowZonesInfo(ocrPage);// Recognize it and save it as PDFocrPage.Recognize(null);ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, null);}// Shutdown the engine// Note: calling Dispose will also automatically shutdown the engine if it has been startedocrEngine.Shutdown();}}private void ShowZonesInfo(IOcrPage ocrPage){Console.WriteLine("Zones:");foreach (OcrZone ocrZone in ocrPage.Zones){int index = ocrPage.Zones.IndexOf(ocrZone);Console.WriteLine("Zone index: {0}", index);Console.WriteLine(" Id {0}", ocrZone.Id);Console.WriteLine(" Bounds {0}", ocrZone.Bounds);Console.WriteLine(" ZoneType {0}", ocrZone.ZoneType);Console.WriteLine(" CharacterFilters: {0}", ocrZone.CharacterFilters);Console.WriteLine("----------------------------------");}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";}