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

# Méthode SetBitmapBits de l’objet TrainingImage

> Méthode SetBitmapBits de l’objet TrainingImage dans l’API ABBYY FineReader Engine — définit les données de l’image d’entraînement à partir d’un tampon mémoire ; l’image doit être isotrope, en noir et blanc, avec 1 bit par pixel (Windows uniquement).

<Warning>
  Cette méthode n’est pas implémentée pour Linux et macOS
</Warning>

Cette méthode définit les données de l’image d’entraînement à partir du tampon mémoire.

L’image doit être isotrope (c’est-à-dire que sa résolution horizontale doit être égale à sa résolution verticale), en noir et blanc, avec un codage de 1 bit par pixel.

L’image est stockée dans le tampon mémoire de manière continue, ligne par ligne, de haut en bas. Une ligne d’image en noir et blanc est stockée sous la forme d’une séquence d’au moins N = ceil ( width / 8 ) octets. Chaque octet représente les couleurs de 8 pixels adjacents ; le bit de poids fort du premier octet correspond au pixel le plus à gauche de la ligne. Une valeur de bit de 0 désigne un pixel blanc, une valeur de 1 désigne un pixel noir. Si width n’est pas un multiple de 8, les bits de poids faible du N-ième octet sont ignorés.

<div id="syntax">
  ## Syntaxe
</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">
  ## Paramètres
</div>

Height

\[in] Spécifie la hauteur de l’image d’entraînement, en pixels.

Width

\[in] Spécifie la largeur de l’image d’entraînement, en pixels.

RawDataPointer

\[in] Ce paramètre est traité comme un handle de tampon mémoire contenant les données de l’image. Le handle est transmis sous la forme de [\_\_int64](/fr/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties).

<div id="return-values">
  ## Valeurs de retour
</div>

Pour Windows : cette méthode n’a pas de valeurs de retour spécifiques. Elle renvoie les [valeurs de retour standard des fonctions ABBYY FineReader Engine](/fr/fine-reader/engine/api-reference/return-codes).

Pour Linux et macOS : cette méthode renvoie E\_NOTIMPL.

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

Les données de l’image doivent rester disponibles tant que l’objet [TrainingImage](/fr/fine-reader/engine/api-reference/image-related-objects/trainingimage) correspondant existe.

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

<Accordion title="Code C#">
  ```csharp theme={null}
  // Le format du bitmap doit être identique à celui de FineReader Engine.
  // Si une image est dans un format différent, vous pouvez utiliser la méthode 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());
  ```
</Accordion>

<div id="see-also">
  ## Voir aussi
</div>

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