> ## 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.

# SetBitmapBits-Methode des TrainingImage-Objekts

> SetBitmapBits-Methode des TrainingImage-Objekts in der ABBYY FineReader Engine API — Setzt die Trainingsbilddaten aus einem Puffer im Arbeitsspeicher; das Bild muss isotrop, schwarzweiß und mit 1 Bit pro Pixel codiert sein (nur Windows).

<Warning>
  Diese Methode ist für Linux und macOS nicht implementiert.
</Warning>

Diese Methode setzt die Trainingsbilddaten aus einem Puffer im Arbeitsspeicher.

Das Bild sollte isotrop sein (das heißt, seine horizontale Auflösung sollte der vertikalen entsprechen) und als Schwarzweißbild mit 1 Bit pro Pixel codiert sein.

Das Bild wird fortlaufend zeilenweise von oben nach unten im Puffer gespeichert. Eine Zeile eines Schwarzweißbilds wird als Folge von mindestens N = ceil ( width / 8 ) Bytes gespeichert. Jedes Byte codiert die Farben von 8 benachbarten Pixeln, wobei das höchstwertige Bit des ersten Bytes dem Pixel ganz links in der Zeile entspricht. Der Bitwert 0 steht für ein weißes Pixel, der Wert 1 für ein schwarzes Pixel. Wenn width kein Vielfaches von 8 ist, werden die niedrigstwertigen Bits des N-ten Bytes ignoriert.

<div id="syntax">
  ## Syntax
</div>

<div id="c">
  ### C++
</div>

```cpp theme={null}
HRESULT SetBitmapBits(
  int     Height,
  int     Width,
  __int64 RawDataPointer
);
```

### C\#

```csharp theme={null}
void SetBitmapBits(
  int   Height,
  int   Width,
  Int64 RawDataPointer
);
```

<div id="visual-basic-net">
  ### Visual Basic .NET
</div>

```vb theme={null}
Sub SetBitmapBits( _
  Height As Integer, _
  Width As Integer, _
  RawDataPointer As Int64 _
)
```

<div id="parameters">
  ## Parameter
</div>

Height

\[in] Gibt die Höhe des Trainingsbildes in Pixeln an.

Width

\[in] Gibt die Breite des Trainingsbildes in Pixeln an.

RawDataPointer

\[in] Dieser Parameter wird als Handle für einen Speicherpuffer mit Bilddaten behandelt. Das Handle wird als [\_\_int64](/de/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties) übergeben.

<div id="return-values">
  ## Rückgabewerte
</div>

Für Windows: Diese Methode hat keine spezifischen Rückgabewerte. Sie gibt die [Standardrückgabewerte der Funktionen von ABBYY FineReader Engine](/de/fine-reader/engine/api-reference/return-codes) zurück.

Für Linux und macOS: Diese Methode gibt E\_NOTIMPL zurück.

<div id="remarks">
  ## Hinweise
</div>

Die Bilddaten sollten vorhanden bleiben, solange das entsprechende [TrainingImage](/de/fine-reader/engine/api-reference/image-related-objects/trainingimage)-Objekt existiert.

<div id="samples">
  ## Beispiele
</div>

<Accordion title="C#-Code">
  ```csharp theme={null}
  // Das Format der Bitmap sollte dem in FineReader Engine entsprechen.
  // Wenn ein Bild in einem anderen Format vorliegt, können Sie die Methode `Image.GetBitmap` verwenden.
  // 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());
  ```
</Accordion>

<div id="see-also">
  ## Siehe auch
</div>

[TrainingImage](/de/fine-reader/engine/api-reference/image-related-objects/trainingimage)
