Passer au contenu principal
Cet objet est utilisé pour stocker les paramètres de modification d’image. La méthode IImageDocument::Modify, qui permet de modifier une image, ainsi que d’autres méthodes, prend une référence à cet objet comme paramètre d’entrée. L’objet ImageModification permet d’effectuer un large éventail d’opérations sur une image, telles que l’étirement, la définition de régions de découpe, de régions d’inversion, de régions de peinture, de régions de remplacement de pixels et de régions de suppression des indésirables. La modification de l’image s’effectue comme suit :
  • La couleur du texte et la taille des indésirables dans les régions sont déterminées.
  • La partie de l’image à l’intérieur des régions de découpe est extraite.
  • Les régions « Paint » sont remplies avec la couleur correspondante.
  • Les couleurs à l’intérieur des régions « invert » sont inversées.
  • Les points noirs à l’intérieur des régions de « remplacement des pixels noirs » sont remplacés par des points de la couleur correspondante.
  • Les points blancs à l’intérieur des régions de remplacement des pixels blancs sont remplacés par des points de la couleur correspondante.
  • Les indésirables à l’intérieur des régions « remove garbage » sont supprimés. Cette modification ne peut être appliquée qu’au plan d’image noir et blanc.
  • L’image est étirée selon le rapport d’étirement défini par la propriété StretchRatio.
Toutes les régions ajoutées dans cet objet ne doivent pas dépasser les limites du Rectangle de l’image. L’objet ImageModification est un objet persistant. Cela signifie que l’état actuel de l’objet peut être enregistré dans un stockage persistant, puis recréé ultérieurement en lisant cet état depuis ce même stockage. Les méthodes suivantes assurent la persistance de l’objet : Linux : SaveToFile et LoadFromFile Windows : SaveToFile, LoadFromFile, SaveToMemory et LoadFromMemory.

Properties

NameTypeDescription
ApplicationEngine, lecture seuleRetourne l’objet Engine.
StretchRatiodoubleSpécifie le ratio d’étirement à appliquer à l’image. Par défaut, cette propriété vaut 1.0, ce qui correspond à l’absence d’étirement.

Méthodes

NomDescription
AddClipRegionAjoute une nouvelle région de découpage au tableau interne des régions de découpage.
AddInvertRegionAjoute une nouvelle région d’inversion au tableau interne des régions d’inversion.
AddPaintRegionAjoute une nouvelle région de peinture au tableau interne des régions de peinture.
AddReplaceBlackPixelsRegionAjoute une nouvelle région de « remplacement des pixels noirs » au tableau interne des régions de « remplacement des pixels noirs ».
AddReplaceWhitePixelsRegionAjoute une nouvelle région de « remplacement des pixels blancs » au tableau interne des régions de « remplacement des pixels blancs ».
ClearClipRegionsEfface le tableau interne des régions de découpage.
ClearInvertRegionsEfface le tableau interne des régions d’inversion.
ClearPaintRegionsEfface le tableau interne des régions de peinture.
ClearReplaceBlackPixelsRegionsEfface le tableau interne des régions de « remplacement des pixels noirs ».
ClearReplaceWhitePixelsRegionsEfface le tableau interne des régions de « remplacement des pixels blancs ».
CopyFromInitialise les propriétés de l’objet courant avec les valeurs des propriétés similaires d’un autre objet.
LoadFromFileRestaure le contenu de l’objet à partir d’un fichier sur le disque.
LoadFromMemory <Note> Windows uniquement </Note>Restaure le contenu de l’objet depuis la mémoire globale.
SaveToFileEnregistre le contenu de l’objet dans un fichier sur le disque.
SaveToMemory <Note> Windows uniquement. </Note>Enregistre le contenu de l’objet dans la mémoire globale.

Paramètre de sortie

Cet objet est le paramètre de sortie de la méthode CreateImageModification de l’objet Engine.

Paramètre d’entrée

Cet objet est passé en tant que paramètre d’entrée aux méthodes suivantes :

Exemples

int splitStartPosition;
int splitEndPosition;
bool isVerticalSplit;
FREngine.IFRDocument frDoc;
FREngine.IFRPage page;
// Diviser l'image d'une page de document en deux pages
// Dimensions de l'image
int width = page.ImageDocument.ColorImage.Width;
int height = page.ImageDocument.ColorImage.Height;
// Dupliquer la page
frDoc.AddPage(page);
FREngine.IFRPage secondPage = frDoc.Pages[frDoc.Pages.Count - 1];
// Rogner la première et la deuxième page
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);

Voir aussi

Utilisation des images Utilisation des propriétés