메인 콘텐츠로 건너뛰기
이 메서드는 Linux 및 macOS에서는 구현되지 않습니다.
이 메서드는 메모리 버퍼의 데이터로 학습 이미지 데이터를 설정합니다. 이미지는 등방성이어야 하며(즉, 가로 해상도와 세로 해상도가 같아야 함), 픽셀당 1비트로 인코딩된 흑백 이미지여야 합니다. 이미지는 위에서 아래로 한 줄씩 연속적으로 버퍼에 저장됩니다. 흑백 이미지의 한 줄은 최소 N = ceil ( width / 8 ) 바이트 시퀀스로 저장됩니다. 각 바이트는 인접한 8개 픽셀의 색상을 인코딩하며, 첫 번째 바이트의 최상위 비트는 해당 줄의 가장 왼쪽 픽셀에 해당합니다. 비트 값이 0이면 흰색 픽셀을, 1이면 검은색 픽셀을 나타냅니다. width가 8의 배수가 아니면 N-번째 바이트의 최하위 비트는 무시됩니다.

구문

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 _
)

매개변수

Height [in] 학습 이미지의 높이를 픽셀 단위로 지정합니다. Width [in] 학습 이미지의 너비를 픽셀 단위로 지정합니다. RawDataPointer [in] 이 매개변수는 이미지 데이터가 포함된 메모리 버퍼에 대한 핸들로 취급됩니다. 이 핸들은 __int64로 전달됩니다.

반환 값

Windows의 경우: 이 메서드에는 별도의 반환 값이 없습니다. ABBYY FineReader Engine 함수의 표준 반환 값을 반환합니다. Linux 및 macOS의 경우: 이 메서드는 E_NOTIMPL을 반환합니다.

비고

해당 TrainingImage 객체가 존재하는 동안에는 이미지 데이터도 유지되어야 합니다.

샘플

// 비트맵 형식은 FineReader Engine과 동일해야 합니다.
// 이미지가 다른 형식이면 `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());

참고 항목

TrainingImage