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

# Objeto ImageModification (interfaz IImageModification)

> Objeto ImageModification (interfaz IImageModification) en la API de ABBYY FineReader Engine: almacena parámetros de modificación de imágenes para IImageDocument.Modify: regiones de recorte, pintura, inversión, reemplazo de píxeles negros, reemplazo de píxeles blancos y eliminación de ruido, además de estiramiento.

Este objeto se utiliza para almacenar los parámetros de modificación de imágenes. El método [IImageDocument::Modify](/es/fine-reader/engine/api-reference/image-related-objects/imagedocument/modify-method), que se usa para modificar una imagen, junto con algunos otros métodos, recibe una referencia a este objeto como parámetro de entrada. ImageModification permite realizar una amplia variedad de operaciones en una imagen, como estirarla, definir regiones de recorte, regiones de inversión, regiones de pintura, regiones de reemplazo de píxeles y regiones de eliminación de ruido. La imagen se modifica de la siguiente manera:

* Se determinan el color del texto y el tamaño del ruido en las regiones.
* Se recorta la parte de la imagen que se encuentra dentro de las regiones de recorte.
* Las regiones de "región de pintura" se rellenan con el color correspondiente.
* Los colores dentro de las regiones de "invert" se invierten.
* Los puntos negros dentro de las regiones de "reemplazar píxeles negros" se sustituyen por puntos del color correspondiente.
* Los puntos blancos dentro de las regiones de "reemplazar píxeles blancos" se sustituyen por puntos del color correspondiente.
* Se elimina el ruido dentro de las regiones de "remove garbage". Esta modificación solo puede aplicarse al plano de imagen [blanco y negro](/es/fine-reader/engine/guided-tour/advanced-techniques/working-with-images#black-and-white).
* La imagen se estira con el factor de estiramiento definida por la propiedad StretchRatio.

Todas las regiones que se agreguen a este objeto no deben exceder los límites del rectángulo de la imagen.

El objeto ImageModification es un objeto persistente. Esto significa que el estado actual del objeto puede escribirse en un almacenamiento persistente. Más adelante, el objeto puede volver a crearse leyendo su estado desde el almacenamiento persistente. Los siguientes métodos proporcionan persistencia al objeto:

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

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

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

| Nombre       | Tipo                                                                                                                                                                                                                      | Descripción                                                                                                                                                              |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Application  | [Engine](/es/fine-reader/engine/api-reference/engine-object-iengine-interface), [de solo lectura](/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties) | Devuelve el objeto Engine.                                                                                                                                               |
| StretchRatio | [double](/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)                                                                                                              | Especifica el factor de estiramiento que se aplicará a la imagen. De forma predeterminada, esta propiedad es 1.0, lo que significa que no se aplica ningún estiramiento. |

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

| Nombre                                                                                                                                               | Descripción                                                                                                             |
| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| [AddClipRegion](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/addclipregion-method)                                   | Agrega una nueva región de recorte al arreglo interno de regiones de recorte.                                           |
| [AddInvertRegion](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/addinvertregion-method)                               | Agrega una nueva región de inversión al arreglo interno de regiones de inversión.                                       |
| [AddPaintRegion](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/addpaintregion-method)                                 | Agrega una nueva región de pintura al arreglo interno de regiones de pintura.                                           |
| [AddReplaceBlackPixelsRegion](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/addreplaceblackpixelsregion-method)       | Agrega una nueva región de "reemplazar píxeles negros" al arreglo interno de regiones de "reemplazar píxeles negros".   |
| [AddReplaceWhitePixelsRegion](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/addreplacewhitepixelsregion-method)       | Agrega una nueva región de "reemplazar píxeles blancos" al arreglo interno de regiones de "reemplazar píxeles blancos". |
| [ClearClipRegions](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearclipregions-method)                             | Borra el arreglo interno de regiones de recorte.                                                                        |
| [ClearInvertRegions](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearinvertregions-method)                         | Borra el arreglo interno de regiones de inversión.                                                                      |
| [ClearPaintRegions](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearpaintregions-method)                           | Borra el arreglo interno de regiones de pintura.                                                                        |
| [ClearReplaceBlackPixelsRegions](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearreplaceblackpixelsregions-method) | Borra el arreglo interno de regiones de "reemplazar píxeles negros".                                                    |
| [ClearReplaceWhitePixelsRegions](/es/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearreplacewhitepixelsregions-method) | Borra el arreglo interno de regiones de "reemplazar píxeles blancos".                                                   |
| [CopyFrom](/es/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/copyfrom-method)                             | Inicializa las propiedades del objeto actual con los valores de propiedades similares de otro objeto.                   |
| [LoadFromFile](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method)                                           | Restaura el contenido del objeto desde un archivo en disco.                                                             |
| [LoadFromMemory](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfrommemory-method)                                       | Restaura el contenido del objeto desde la memoria global. <Note> *Solo para Windows.*</Note>                            |
| [SaveToFile](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method)                                               | Guarda el contenido del objeto en un archivo en disco.                                                                  |
| [SaveToMemory](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method)                                           | Guarda el contenido del objeto en la memoria global. <Note> *Solo para Windows.*</Note>                                 |

<div id="output-parameter">
  ## Parámetro de salida
</div>

Este objeto es el parámetro de salida del método [CreateImageModification](/es/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods) del objeto [Engine](/es/fine-reader/engine/api-reference/engine-object-iengine-interface).

<div id="input-parameter">
  ## Parámetro de entrada
</div>

Este objeto se utiliza como parámetro de entrada en los siguientes métodos:

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

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

<Accordion title="Código C#">
  ```csharp theme={null}
  int splitStartPosition;
  int splitEndPosition;
  bool isVerticalSplit;
  FREngine.IFRDocument frDoc;
  FREngine.IFRPage page;
  // Dividir la imagen de una página del documento en dos páginas
  // Dimensiones de la imagen
  int width = page.ImageDocument.ColorImage.Width;
  int height = page.ImageDocument.ColorImage.Height;
  // Duplicar la página
  frDoc.AddPage(page);
  FREngine.IFRPage secondPage = frDoc.Pages[frDoc.Pages.Count - 1];
  // Recortar la primera y la segunda página
  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">
  ## Consulte también
</div>

[Trabajo con imágenes](/es/fine-reader/engine/guided-tour/advanced-techniques/working-with-images)

[Trabajo con propiedades](/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
