Questo metodo non è implementato per Linux e macOS
Questo metodo imposta i dati dell’immagine di training a partire dal buffer in memoria.L’immagine deve essere isotropa (cioè la risoluzione orizzontale deve essere uguale a quella verticale), in bianco e nero con codifica a 1 bit per pixel.L’immagine viene memorizzata nel buffer in modo continuo, riga per riga, dall’alto verso il basso. Una riga di un’immagine in bianco e nero viene memorizzata come una sequenza di almeno N = ceil ( width / 8 ) byte. Ogni byte codifica i colori di 8 pixel adiacenti; il bit più significativo del primo byte corrisponde al pixel più a sinistra della riga. Il valore del bit pari a 0 indica un pixel bianco, mentre il valore pari a 1 indica un pixel nero. Se width non è un multiplo di 8, i bit meno significativi dell’N-esimo byte vengono ignorati.
Height[in] Specifica l’altezza dell’immagine di training in pixel.Width[in] Specifica la larghezza dell’immagine di training in pixel.RawDataPointer[in] Questo parametro è considerato un handle di un buffer di memoria contenente i dati dell’immagine. L’handle viene passato come __int64.
// Il formato della bitmap deve essere lo stesso usato in FineReader Engine.// Se un'immagine è in un altro formato, puoi usare il metodo Image.GetBitmap.// IntPtr hBitmap = document.Pages[0].ImageDocument.BlackWhiteImage.GetBitmap(null).Handle;// Bitmap bitmap = new Bitmap( Image.FromHbitmap( hBitmap ) );Bitmap bitmap = new Bitmap(imagePath);Rectangle imageRect = new Rectangle(0, 0, bitmap.Size.Width, bitmap.Size.Height);System.Drawing.Imaging.BitmapData data = bitmap.LockBits(imageRect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format1bppIndexed);FREngine.ITrainingImage trainingImage = engineLoader.Engine.CreateTrainingImage();trainingImage.SetBitmapBits(bitmap.Size.Height, bitmap.Size.Width, data.Scan0.ToInt64());