Saltar al contenido principal
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