Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt

Use this file to discover all available pages before exploring further.

Este método no está implementado para Linux ni macOS
Este método establece los datos de la imagen de entrenamiento a partir del búfer en memoria. La imagen debe ser isotrópica (es decir, su resolución horizontal debe ser igual a la vertical), en blanco y negro, con codificación de 1 bit por píxel. La imagen se almacena en el búfer de forma continua, línea por línea, de arriba abajo. Una línea de imagen en blanco y negro se almacena como una secuencia de al menos N = ceil ( width / 8 ) bytes. Cada byte codifica los colores de 8 píxeles adyacentes; el bit más significativo del primer byte corresponde al píxel situado más a la izquierda de la línea. Un valor de bit de 0 indica un píxel blanco y un valor de 1 indica un píxel negro. Si width no es un múltiplo de 8, los bits menos significativos del N-ésimo byte se ignoran.

Sintaxis

C++

HRESULT SetBitmapBits(
  int     Height,
  int     Width,
  __int64 RawDataPointer
);

C#

void SetBitmapBits(
  int   Height,
  int   Width,
  Int64 RawDataPointer
);

Visual Basic .NET

Sub SetBitmapBits( _
  Height As Integer, _
  Width As Integer, _
  RawDataPointer As Int64 _
)

Parámetros

Height [in] Especifica la altura de la imagen de entrenamiento en píxeles. Width [in] Especifica el ancho de la imagen de entrenamiento en píxeles. RawDataPointer [in] Este parámetro se considera un handle de un búfer de memoria que contiene datos de imagen. El handle se pasa como __int64.

Valores de retorno

En Windows: este método no tiene valores de retorno específicos. Devuelve los valores de retorno estándar de las funciones de ABBYY FineReader Engine. En Linux y macOS: este método devuelve E_NOTIMPL.

Observaciones

Los datos de la imagen deben existir mientras exista el objeto TrainingImage correspondiente.

Ejemplos

// El formato del bitmap debe ser el mismo que en FineReader Engine.
// Si una imagen está en otro formato, puede usar el método 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());

Consulte también

TrainingImage