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

# ImageModification-Objekt (IImageModification-Schnittstelle)

> ImageModification-Objekt (IImageModification-Schnittstelle) in der ABBYY FineReader Engine API — speichert Parameter der Bildmodifikation für IImageDocument.Modify: Beschneidungs-, Paint-, Invertierungs-, Replace-Black-Pixels-, Replace-White-Pixels- und Remove-Garbage-Regionen sowie Streckung.

Dieses Objekt wird zum Speichern von Parametern für die Bildmodifikation verwendet. Die Methode [IImageDocument::Modify](/de/fine-reader/engine/api-reference/image-related-objects/imagedocument/modify-method), mit der ein Bild modifiziert wird, erhält wie auch einige andere Methoden eine Referenz auf dieses Objekt als Eingabeparameter. ImageModification ermöglicht eine Vielzahl von Operationen an einem Bild, z. B. Strecken, das Festlegen von Beschneidungsbereichen, Invertierungsregionen, Paint-Regionen, Bereichen zum Ersetzen von Pixeln und Bereichen zum Entfernen von Bildstörungen. Das Bild wird dabei wie folgt modifiziert:

* Die Textfarbe und die Größe der Bildstörungen in Regionen werden bestimmt.
* Der Bildteil innerhalb der Beschneidungsbereiche wird ausgeschnitten.
* „Paint-Regionen“ werden mit der entsprechenden Farbe gefüllt.
* Farben innerhalb der „invert“-Regionen werden invertiert.
* Schwarze Punkte innerhalb der Regionen „replace black pixels“ werden durch Punkte der entsprechenden Farbe ersetzt.
* Weiße Punkte innerhalb der Regionen „replace white pixels“ werden durch Punkte der entsprechenden Farbe ersetzt.
* Die Bildstörungen innerhalb der Regionen „remove garbage“ werden entfernt. Diese Modifikation kann nur auf die [Schwarz-Weiß-Bildebene](/de/fine-reader/engine/guided-tour/advanced-techniques/working-with-images#black-and-white) angewendet werden.
* Das Bild wird mit dem durch die Eigenschaft StretchRatio definierten Streckverhältnis gestreckt.

Alle Regionen, die zu diesem Objekt hinzugefügt werden, dürfen die Grenzen des Bildrechtecks nicht überschreiten.

Das ImageModification-Objekt ist ein persistentes Objekt. Das bedeutet, dass der aktuelle Zustand des Objekts in persistentem Speicher gespeichert werden kann. Später kann das Objekt durch Lesen seines Zustands aus dem persistenten Speicher erneut erstellt werden. Die folgenden Methoden ermöglichen die Persistenz des Objekts:

Linux: [SaveToFile](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method) und [LoadFromFile](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method)

Windows: [SaveToFile](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method), [LoadFromFile](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method), [SaveToMemory](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method) und [LoadFromMemory](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfrommemory-method).

<div id="properties">
  ## Eigenschaften
</div>

| Name         | Typ                                                                                                                                                                                                                  | Beschreibung                                                                                                                                          |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Application  | [Engine](/de/fine-reader/engine/api-reference/engine-object-iengine-interface), [nur lesbar](/de/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties) | Gibt das Engine-Objekt zurück.                                                                                                                        |
| StretchRatio | [double](/de/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)                                                                                                         | Gibt das Streckverhältnis an, das auf das Bild angewendet wird. Standardmäßig ist diese Eigenschaft auf 1.0 gesetzt, was keiner Streckung entspricht. |

<div id="methods">
  ## Methoden
</div>

| Name                                                                                                                                                 | Beschreibung                                                                                                             |
| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| [AddClipRegion](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/addclipregion-method)                                   | Fügt dem internen Array von Beschneidungsbereichen einen neuen Beschneidungsbereich hinzu.                               |
| [AddInvertRegion](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/addinvertregion-method)                               | Fügt dem internen Array von Invertierungsregionen eine neue Invertierungsregion hinzu.                                   |
| [AddPaintRegion](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/addpaintregion-method)                                 | Fügt dem internen Array von Paint-Regionen eine neue Paint-Region hinzu.                                                 |
| [AddReplaceBlackPixelsRegion](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/addreplaceblackpixelsregion-method)       | Fügt dem internen Array von Regionen zum Ersetzen schwarzer Pixel eine neue Region zum Ersetzen schwarzer Pixel hinzu.   |
| [AddReplaceWhitePixelsRegion](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/addreplacewhitepixelsregion-method)       | Fügt dem internen Array von Regionen zum Ersetzen weißer Pixel eine neue Region zum Ersetzen weißer Pixel hinzu.         |
| [ClearClipRegions](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearclipregions-method)                             | Leert das interne Array von Beschneidungsbereichen.                                                                      |
| [ClearInvertRegions](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearinvertregions-method)                         | Leert das interne Array von Invertierungsregionen.                                                                       |
| [ClearPaintRegions](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearpaintregions-method)                           | Leert das interne Array von Paint-Regionen.                                                                              |
| [ClearReplaceBlackPixelsRegions](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearreplaceblackpixelsregions-method) | Leert das interne Array von Regionen zum Ersetzen schwarzer Pixel.                                                       |
| [ClearReplaceWhitePixelsRegions](/de/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearreplacewhitepixelsregions-method) | Leert das interne Array von Regionen zum Ersetzen weißer Pixel.                                                          |
| [CopyFrom](/de/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/copyfrom-method)                             | Initialisiert die Eigenschaften des aktuellen Objekts mit den Werten entsprechender Eigenschaften eines anderen Objekts. |
| [LoadFromFile](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method)                                           | Stellt den Objektinhalt aus einer Datei auf dem Datenträger wieder her.                                                  |
| [LoadFromMemory](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfrommemory-method)                                       | Stellt den Objektinhalt aus dem globalen Speicher wieder her. <Note> *Nur unter Windows.*</Note>                         |
| [SaveToFile](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method)                                               | Speichert den Objektinhalt in einer Datei auf dem Datenträger.                                                           |
| [SaveToMemory](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method)                                           | Speichert den Objektinhalt im globalen Speicher. <Note> *Nur unter Windows.*</Note>                                      |

<div id="output-parameter">
  ## Ausgabeparameter
</div>

Dieses Objekt ist der Ausgabeparameter der Methode [CreateImageModification](/de/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods) des Objekts [Engine](/de/fine-reader/engine/api-reference/engine-object-iengine-interface).

<div id="input-parameter">
  ## Eingabeparameter
</div>

Dieses Objekt wird als Eingabeparameter an folgende Methoden übergeben:

* [WriteToFile](/de/fine-reader/engine/api-reference/image-related-objects/image/writetofile-method), [EstimateBitmapSize](/de/fine-reader/engine/api-reference/image-related-objects/image/estimatebitmapsize-method) (Win), [GetBitmap](/de/fine-reader/engine/api-reference/image-related-objects/image/getbitmap-method) (Win) des [Image](/de/fine-reader/engine/api-reference/image-related-objects/image)-Objekts,
* [Modify](/de/fine-reader/engine/api-reference/image-related-objects/imagedocument/modify-method) des [ImageDocument](/de/fine-reader/engine/api-reference/image-related-objects/imagedocument)-Objekts.

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

<Accordion title="C#-Code">
  ```csharp theme={null}
  int splitStartPosition;
  int splitEndPosition;
  bool isVerticalSplit;
  FREngine.IFRDocument frDoc;
  FREngine.IFRPage page;
  // Das Bild einer Dokumentseite in zwei Seiten teilen
  // Bildabmessungen
  int width = page.ImageDocument.ColorImage.Width;
  int height = page.ImageDocument.ColorImage.Height;
  // Seite duplizieren
  frDoc.AddPage(page);
  FREngine.IFRPage secondPage = frDoc.Pages[frDoc.Pages.Count - 1];
  // Erste und zweite Seite zuschneiden
  FREngine.IImageModification firstModification = engine.CreateImageModification();
  FREngine.IRegion firstClipRegion = engine.CreateRegion();
  FREngine.IImageModification secondModification = engine.CreateImageModification();
  FREngine.IRegion secondClipRegion = engine.CreateRegion();
  if (isVerticalSplit)
  {
   firstClipRegion.AddRect(0, 0, splitStartPosition, height - 1 );
   secondClipRegion.AddRect(splitEndPosition, 0, width - 1, height - 1);
  }
  else
  {
   firstClipRegion.AddRect(0, 0, width - 1, splitStartPosition);
   secondClipRegion.AddRect(0, splitEndPosition, width - 1, height - 1);
  }
  firstModification.AddClipRegion(firstClipRegion);
  page.ImageDocument.Modify(firstModification);
  secondModification.AddClipRegion(secondClipRegion);
  secondPage.ImageDocument.Modify(secondModification);
  ```
</Accordion>

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

[Arbeiten mit Bildern](/de/fine-reader/engine/guided-tour/advanced-techniques/working-with-images)

[Arbeiten mit Eigenschaften](/de/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
