Saltar al contenido principal
Este objeto se utiliza para almacenar los parámetros de modificación de imágenes. El método IImageDocument::Modify, 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 “paint” se rellenan con el color correspondiente.
  • Los colores dentro de las regiones de “invert” se invierten.
  • Los puntos negros dentro de las regiones de “replace black pixels” se sustituyen por puntos del color correspondiente.
  • Los puntos blancos dentro de las regiones de “replace white pixels” 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.
  • 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, y LoadFromFile Windows SaveToFile, LoadFromFile, SaveToMemory, y LoadFromMemory.

Propiedades

NombreTipoDescripción
ApplicationEngine, de solo lecturaDevuelve el objeto Engine.
StretchRatiodoubleEspecifica 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.

Métodos

NombreDescripción
AddClipRegionAgrega una nueva región de recorte al arreglo interno de regiones de recorte.
AddInvertRegionAgrega una nueva región de inversión al arreglo interno de regiones de inversión.
AddPaintRegionAgrega una nueva región de pintura al arreglo interno de regiones de pintura.
AddReplaceBlackPixelsRegionAgrega una nueva región de “reemplazar píxeles negros” al arreglo interno de regiones de “reemplazar píxeles negros”.
AddReplaceWhitePixelsRegionAgrega una nueva región de “reemplazar píxeles blancos” al arreglo interno de regiones de “reemplazar píxeles blancos”.
ClearClipRegionsBorra el arreglo interno de regiones de recorte.
ClearInvertRegionsBorra el arreglo interno de regiones de inversión.
ClearPaintRegionsBorra el arreglo interno de regiones de pintura.
ClearReplaceBlackPixelsRegionsBorra el arreglo interno de regiones de “reemplazar píxeles negros”.
ClearReplaceWhitePixelsRegionsBorra el arreglo interno de regiones de “reemplazar píxeles blancos”.
CopyFromInicializa las propiedades del objeto actual con los valores de propiedades similares de otro objeto.
LoadFromFileRestaura el contenido del objeto desde un archivo en disco.
LoadFromMemory <Note> Solo para Windows </Note>Restaura el contenido del objeto desde la memoria global.
SaveToFileGuarda el contenido del objeto en un archivo en disco.
SaveToMemory <Note> Solo para Windows. </Note>Guarda el contenido del objeto en la memoria global.

Parámetro de salida

Este objeto es el parámetro de salida del método CreateImageModification del objeto Engine.

Parámetro de entrada

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

Ejemplos

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);

Consulte también

Trabajo con imágenes Trabajo con propiedades