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

# IEditablePictureObject

> IEditablePictureObject dans les scripts ABBYY FlexiCapture : modifiez les images de la page à l’aide des méthodes de recadrage, de correction de l’inclinaison, de suppression des taches parasites, de binarisation, de filtre de contraste et de suppression des tampons.

<div id="what-it-does">
  ## Description
</div>

Représente une image modifiable dans ABBYY FlexiCapture. Cet objet étend l’interface [IPictureObject](/fr/flexi-capture/appendix/scripts/ipictureobject).

<Note>
  Cet objet n’est pas disponible dans Web Verification Station pour vérifier les règles localement.
</Note>

<div id="methods">
  ## Méthodes
</div>

| Méthode                                                                                        | Description                                                                                                                                                                                                                                                                                          | Couleurs d’image prises en charge                |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `ApplyContourSmoother( params: IContourSmootherParams )`                                       | Applique le filtre de lissage des contours à une image.                                                                                                                                                                                                                                              | Pour les images en niveaux de gris et en couleur |
| `ApplyLocalContrastFilter( params: ILocalContrastParams )`                                     | Applique le filtre de contraste non adaptatif à une image.                                                                                                                                                                                                                                           | Pour les images en niveaux de gris et en couleur |
| `ApplyMultiscaleLocalContrastFilter()`                                                         | Applique le filtre de contraste adaptatif à une image. Utilisez cette méthode pour transformer une image en image numérisée.                                                                                                                                                                         | Pour les images en niveaux de gris et en couleur |
| `ApplyShadowsHighlightsFilter( params: IShadowsHighlightsParams )`                             | Applique un rehaussement des ombres à une image.                                                                                                                                                                                                                                                     | Pour les images en niveaux de gris et en couleur |
| `ApplySigmaFilter()`                                                                           | Supprime le bruit d’une image.                                                                                                                                                                                                                                                                       | Pour toutes les images                           |
| `AutoCrop( [optional] type: string )`                                                          | Rogne automatiquement l’image. Les valeurs possibles du paramètre `type` sont `Photo`, `Scan` et `Generic`. La valeur par défaut est `Generic`.                                                                                                                                                      | Pour toutes les images                           |
| `Binarize( params: IBinarizationParams )`                                                      | Convertit les couleurs d’une image en noir et blanc. Possède un jeu de propriétés différent de la méthode `ConvertToBW`.                                                                                                                                                                             | Pour les images en gris et en couleur            |
| `ConvertToBW( [optional] threshold: int )`                                                     | Convertit une image en noir et blanc. Vous pouvez spécifier une valeur de seuil de luminosité. Les valeurs supérieures au seuil sont considérées comme blanches et les valeurs inférieures au seuil comme noires. La valeur du seuil de luminosité peut aller de `0` à `255`.                        | Pour toutes les images                           |
| `CreateBinarizationParams(): IBinarizationParams`                                              | Crée un objet contenant les paramètres de la méthode `Binarize`.                                                                                                                                                                                                                                     | Pour tous les types d’images                     |
| `CreateContourSmootherParams(): IContourSmootherParams`                                        | Crée un objet contenant les paramètres du lisseur de contours.                                                                                                                                                                                                                                       | Pour tous les types d’images                     |
| `CreateLocalContrastFilterParams(): ILocalContrastParams`                                      | Crée un objet contenant les paramètres de l’opération de contraste. Les paramètres du filtre sont définis par défaut.                                                                                                                                                                                | Pour tous les types d’images                     |
| `CreateShadowsHighlightsFilterParams(): IShadowsHighlightsParams`                              | Crée un objet contenant les paramètres de l’action de modification d’un effet d’éclairage des ombres.                                                                                                                                                                                                | Pour toutes les images                           |
| `Crop( rect: string )`                                                                         | Rogne l’image en dehors du rectangle spécifié.                                                                                                                                                                                                                                                       | Pour toutes les images                           |
| `CutOut( rect: string ): IEditablePictureObject`                                               | Découpe le rectangle spécifié dans l’image et renvoie ce rectangle.                                                                                                                                                                                                                                  | Toutes les images                                |
| `Deskew( [optional] byLines: bool, [optional] byBlackSquares: bool, [optional] byText: bool )` | Redresse l’image. L’inclinaison de l’image peut être corrigée à l’aide de lignes droites, de carrés noirs ou du texte. Par défaut, le paramètre `byText` est défini sur `true`.                                                                                                                      | Toutes les images                                |
| `Despeckle( [optional] garbageSize: int )`                                                     | Supprime le bruit des images en noir et blanc. Les taches jusqu’à la taille spécifiée sont supprimées. Si le paramètre `garbageSize` n’est pas spécifié, la taille est détectée automatiquement.                                                                                                     | Images en noir et blanc uniquement               |
| `Erase( rectangle: string, [optional] red: int, [optional] green: int, [optional] blue: int )` | Efface une zone de l’image. Vous pouvez spécifier la couleur utilisée pour effacer la zone. Par défaut, la couleur noire est utilisée.                                                                                                                                                               | Pour toutes les images                           |
| `FlipHorizontal()`                                                                             | Retourne l’image horizontalement.                                                                                                                                                                                                                                                                    | Pour toutes les images                           |
| `FlipVertical()`                                                                               | Retourne l’image verticalement.                                                                                                                                                                                                                                                                      | Pour toutes les images                           |
| `FreeScale( newWidth: int, newHeight: int, newResolution: int )`                               | Redimensionne la page en fonction des nouvelles valeurs.                                                                                                                                                                                                                                             | Pour toutes les images                           |
| `Invert( [optional] rectString: string )`                                                      | Inverse l’image. Vous pouvez spécifier une string contenant les coordonnées du rectangle à inverser.                                                                                                                                                                                                 | Pour toutes les images                           |
| `NewRectsArray(): IRects`                                                                      | Crée une nouvelle collection de rectangles. Renvoie un objet [IRects](/fr/flexi-capture/appendix/scripts/irects).                                                                                                                                                                                    | Uniquement pour les images en couleur            |
| `RemoveMotionBlur()`                                                                           | Supprime le flou provoqué par le mouvement du document, de l'appareil photo ou du scanner pendant la numérisation.                                                                                                                                                                                   | Pour toutes les images                           |
| `RemoveStamps( color: TColorToFilter, rects: IRects )`                                         | Supprime les tampons en couleur et les autres marques d’une couleur spécifiée d’une image. Pour plus d’informations, voir [Supprimer les tampons en couleur d’une image](#remove-color-stamps-from-an-image).                                                                                        | Uniquement pour les images en couleur            |
| `RemoveStampsExt( colorsToFilter: string )`                                                    | Supprime les tampons colorés et autres marques d’une image à l’aide d’un algorithme amélioré permettant de supprimer un plus grand nombre de couleurs. Il s’agit de la méthode recommandée. Pour plus d’informations, voir [Supprimer d’autres couleurs de tampon](#remove-additional-stamp-colors). | Uniquement pour les images couleur               |
| `Rotate( angle: int )`                                                                         | Fait pivoter l’image dans le sens des aiguilles d’une montre jusqu’à l’angle spécifié.                                                                                                                                                                                                               | Pour toutes les images                           |
| `Scale( ratio: int )`                                                                          | Étire ou compresse l’image par rapport à la taille de référence de 100 %. La méthode s’applique uniquement à la taille en pixels de l’image. La taille physique de l’image reste inchangée.                                                                                                          | Pour toutes les images                           |

<Note>
  Le paramètre `rect` passé aux méthodes `CutOut` et `Crop` est une `string` au format `"[left, top, right, bottom]"`. Pour obtenir cette chaîne, appelez la méthode `ToString` de n’importe quel objet [IRect](/fr/flexi-capture/appendix/scripts/irect) ou utilisez la méthode `Rect` de [IFlexiCaptureTools](/fr/flexi-capture/appendix/scripts/iexportimagetools) (`FCTools`).
</Note>

<div id="remove-color-stamps-from-an-image">
  ## Supprimer les tampons colorés d’une image
</div>

La méthode `RemoveStamps` supprime les tampons colorés et les autres marques d’une couleur spécifiée dans une image. Cette méthode fonctionne uniquement sur des images en couleur.

| Paramètre | Type                                                  | Description                                                        |
| --------- | ----------------------------------------------------- | ------------------------------------------------------------------ |
| `color`   | [TColorToFilter](/fr/flexi-capture/t-color-to-filter) | La couleur des tampons à supprimer.                                |
| `rects`   | [IRects](/fr/flexi-capture/appendix/scripts/irects)   | La collection de rectangles correspondant aux tampons à supprimer. |

L’exemple de script suivant pour un événement [Sur commande de l’utilisateur](/fr/flexi-capture/appendix/scripts-shell/user-command) supprime les tampons rouges de toutes les pages. La recherche de tampons s’effectue sur toute la surface de la page.

```csharp theme={null}
MainWindow.TaskWindow.OpenDocument( MainWindow.TaskWindow.EditorWindow.Document );
foreach (IPage page in MainWindow.TaskWindow.EditorWindow.Document.Pages)
{
    if (page.Picture.IsColor)
    {
        IEditablePictureObject editablePicture = page.Picture.CreateEditableCopy();
        IRects rects = editablePicture.NewRectsArray();
        rects.AddRect(0, 0, editablePicture.Width - 1, editablePicture.Height - 1); // toute la page
        editablePicture.RemoveStamps(TColorToFilter.CTF_Red, rects);
        page.ReplaceImage(editablePicture);
    }
}
```

<div id="remove-additional-stamp-colors">
  ## Supprimer des couleurs de tampon supplémentaires
</div>

La méthode `RemoveStampsExt` supprime sur une image les tampons colorés et autres marques d’une couleur spécifiée. Elle est similaire à `RemoveStamps`, mais utilise un algorithme amélioré qui prend en charge un plus grand nombre de couleurs. C’est la méthode recommandée pour supprimer les tampons.

Le paramètre `colorsToFilter` (`string`) définit la couleur des tampons à supprimer :

* Accepte les valeurs string suivantes : `Red`, `Green`, `Blue`, `Yellow`, `Orange`, `LightBlue` et `Purple` (sans distinction entre majuscules et minuscules).
* Vous pouvez spécifier plusieurs valeurs séparées par des virgules, par exemple `"Red, Green"`.
* Vous pouvez spécifier une string vide (`""`) pour laisser le programme sélectionner automatiquement la couleur de tampon appropriée. Le programme supprime tous les tampons qu’il détecte sur une image et dont la couleur correspond à l’une des valeurs autorisées.

L’exemple de script suivant pour un événement [Sur commande de l’utilisateur](/fr/flexi-capture/appendix/scripts-shell/user-command) supprime les tampons rouges et verts de toutes les pages :

```csharp theme={null}
foreach (IPage page in Document.Pages)
{
    if (page.Picture.IsColor)
    {
        IPictureObject picture = page.Picture;
        IEditablePictureObject editablePicture = picture.CreateEditableCopy();
        editablePicture.RemoveStampsExt("Red, Green");
        page.ReplaceImage(editablePicture);
    }
}
```

<div id="custom-processing-stage-examples">
  ## Exemples pour les étapes de traitement personnalisées
</div>

Ces scripts montrent comment utiliser les méthodes de `IEditablePictureObject` dans des étapes de traitement personnalisées.

<div id="apply-a-local-contrast-filter">
  ### Appliquer un filtre de contraste local
</div>

Ce script crée un objet avec des paramètres pour le filtre de contraste local, définit les paramètres manuellement et applique le filtre à une image.

```csharp theme={null}
foreach( IPage page in Document.Pages )
{
    IPictureObject picture = page.Picture;
    IEditablePictureObject editablePicture = picture.CreateEditableCopy();
    // Création d'un objet avec des paramètres (paramètres définis par défaut)
    ILocalContrastParams localContrastParams = editablePicture.CreateLocalContrastFilterParams();
    // Définition des paramètres dont les valeurs seront modifiées par la suite
    localContrastParams.Radius = 7;
    localContrastParams.NoiseLevel = 200;
    // Application d'un filtre à l'image
    editablePicture.ApplyLocalContrastFilter( localContrastParams );
    // Remplacement de l'image d'une page par l'image modifiée
    page.ReplaceImage( editablePicture );
}
```

<div id="binarize-an-image-with-custom-parameters">
  ### Binariser une image avec des paramètres personnalisés
</div>

Ce script crée un objet contenant des paramètres pour la méthode `Binarize` et convertit l’image en noir et blanc à l’aide des paramètres définis.

```csharp theme={null}
foreach ( IPage page in Document.Pages )
{
    IPictureObject picture = page.Picture;
    IEditablePictureObject editablePicture = picture.CreateEditableCopy();
    // Création d'un objet avec des paramètres (les paramètres sont définis par défaut)
    IBinarizationParams binarizationParams =  editablePicture.CreateBinarizationParams();
    // Définition du paramètre true ou false
    binarizationParams.SmoothTexture = false;
    editablePicture.Binarize( binarizationParams );
    page.ReplaceImage( editablePicture );
}
```

<div id="enhance-selected-pages-from-the-verification-station">
  ### Améliorer les pages sélectionnées à partir de la Verification Station
</div>

Ce script augmente le contraste, supprime le bruit numérique, applique le rognage automatique et réduit le flou sur les pages sélectionnées. Le script est exécuté par un opérateur de la Verification Station.

```csharp theme={null}
foreach( IPageItem pageItem in MainWindow.Selection.PageItems) {
    pageItem.TaskWindow.CloseEditorWindow();
    pageItem.TaskWindow.OpenDocument(  pageItem.DocumentItem.Document );
    IPage page = pageItem.Page;
    IEditablePictureObject editablePicture = page.Picture.CreateEditableCopy();
    // Applique les transformations d'image
    editablePicture.AutoCrop();
    editablePicture.ApplySigmaFilter();
    editablePicture.ApplyMultiscaleLocalContrastFilter();
    editablePicture.RemoveMotionBlur();
    // Remplace l'image du document original par l'image modifiée
    page.ReplaceImage( editablePicture );
    pageItem.TaskWindow.CloseDocument(  pageItem.DocumentItem.Document );
}
```
