Pular para o conteúdo principal
Este método não está implementado para Linux e macOS
Este método define os dados da imagem de treinamento a partir do buffer na memória. A imagem deve ser isotrópica (ou seja, sua resolução horizontal deve ser igual à vertical), em preto e branco, com codificação de 1 bit por pixel. A imagem é armazenada no buffer de forma contínua, linha por linha, de cima para baixo. Uma linha da imagem em preto e branco é armazenada como uma sequência de pelo menos N = ceil ( width / 8 ) bytes. Cada byte codifica as cores de 8 pixels adjacentes; o bit mais significativo do primeiro byte corresponde ao pixel mais à esquerda da linha. O valor de bit 0 indica um pixel branco, e o valor 1 indica um pixel preto. Se width não for múltiplo de 8, os bits menos significativos do N-ésimo byte serão ignorados.

Sintaxe

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 a altura da imagem de treinamento em pixels. Width [in] Especifica a largura da imagem de treinamento em pixels. RawDataPointer [in] Este parâmetro é tratado como um handle para o buffer de memória que contém os dados da imagem. O handle é passado como __int64.

Valores de retorno

No Windows: este método não tem valores de retorno específicos. Ele retorna os valores de retorno padrão das funções do ABBYY FineReader Engine. No Linux e macOS: este método retorna E_NOTIMPL.

Observações

Os dados da imagem devem permanecer disponíveis enquanto o objeto TrainingImage correspondente existir.

Exemplos

// O formato do bitmap deve ser o mesmo usado no FineReader Engine.
// Se a imagem estiver em outro formato, você pode usar o 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 também

TrainingImage