Vai al contenuto principale
Questo oggetto viene utilizzato per memorizzare i parametri di modifica dell’immagine. Il metodo IImageDocument::Modify, usato per modificare un’immagine, insieme ad alcuni altri metodi accetta un riferimento a questo oggetto come parametro di input. L’oggetto ImageModification consente di eseguire un’ampia gamma di operazioni su un’immagine, come l’allungamento, l’impostazione di aree di ritaglio, regioni di inversione, aree di riempimento, regioni di sostituzione dei pixel e regioni di rimozione del rumore. L’immagine viene modificata come segue:
  • Nelle regioni vengono determinati il colore del testo e la dimensione del rumore.
  • La parte dell’immagine all’interno delle aree di ritaglio viene ritagliata.
  • Le regioni “paint” vengono riempite con il colore corrispondente.
  • I colori all’interno delle regioni “invert” vengono invertiti.
  • I punti neri all’interno delle regioni “replace black pixels” vengono sostituiti con punti del colore corrispondente.
  • I punti bianchi all’interno delle regioni “replace white pixels” vengono sostituiti con punti del colore corrispondente.
  • Il rumore all’interno delle regioni “remove garbage” viene eliminato. Questa modifica può essere applicata solo al piano immagine bianco e nero.
  • L’immagine viene allungata in base al rapporto di allungamento definito dalla proprietà StretchRatio.
Tutte le regioni aggiunte a questo oggetto non devono superare i limiti del rettangolo dell’immagine. L’oggetto ImageModification è un oggetto persistente. Ciò significa che lo stato corrente dell’oggetto può essere scritto in un archivio persistente. In seguito, l’oggetto può essere ricreato leggendo il relativo stato dall’archivio persistente. I seguenti metodi consentono di rendere persistente l’oggetto: Linux: SaveToFile, e LoadFromFile Windows SaveToFile, LoadFromFile, SaveToMemory, e LoadFromMemory.

Proprietà

NomeTipoDescrizione
ApplicationEngine, di sola letturaRestituisce l’oggetto Engine.
StretchRatiodoubleSpecifica il rapporto di allungamento da applicare all’immagine. Per impostazione predefinita, questa proprietà è impostata su 1.0, che corrisponde a nessun allungamento.

Metodi

NomeDescrizione
AddClipRegionAggiunge una nuova area di ritaglio all’array interno delle aree di ritaglio.
AddInvertRegionAggiunge una nuova regione di inversione all’array interno delle regioni di inversione.
AddPaintRegionAggiunge una nuova area di riempimento all’array interno delle aree di riempimento.
AddReplaceBlackPixelsRegionAggiunge una nuova regione di “sostituzione dei pixel neri” all’array interno delle regioni di “sostituzione dei pixel neri”.
AddReplaceWhitePixelsRegionAggiunge una nuova regione di “sostituzione dei pixel bianchi” all’array interno delle regioni di “sostituzione dei pixel bianchi”.
ClearClipRegionsSvuota l’array interno delle aree di ritaglio.
ClearInvertRegionsSvuota l’array interno delle regioni di inversione.
ClearPaintRegionsSvuota l’array interno delle aree di riempimento.
ClearReplaceBlackPixelsRegionsSvuota l’array interno delle regioni di “sostituzione dei pixel neri”.
ClearReplaceWhitePixelsRegionsSvuota l’array interno delle regioni di “sostituzione dei pixel bianchi”.
CopyFromInizializza le proprietà dell’oggetto corrente con i valori delle proprietà corrispondenti di un altro oggetto.
LoadFromFileRipristina il contenuto dell’oggetto da un file su disco.
LoadFromMemory <Note> Solo Windows </Note>Ripristina il contenuto dell’oggetto dalla memoria globale.
SaveToFileSalva il contenuto dell’oggetto in un file su disco.
SaveToMemory <Note> Solo Windows. </Note>Salva il contenuto dell’oggetto nella memoria globale.

Parametro di output

Questo oggetto costituisce il parametro di output del metodo CreateImageModification dell’oggetto Engine.

Parametro di input

Questo oggetto viene passato come parametro di input ai metodi seguenti:

Esempi

int splitStartPosition;
int splitEndPosition;
bool isVerticalSplit;
FREngine.IFRDocument frDoc;
FREngine.IFRPage page;
// Suddivide l'immagine di una pagina del documento in due pagine
// Dimensioni dell'immagine
int width = page.ImageDocument.ColorImage.Width;
int height = page.ImageDocument.ColorImage.Height;
// Duplica la pagina
frDoc.AddPage(page);
FREngine.IFRPage secondPage = frDoc.Pages[frDoc.Pages.Count - 1];
// Ritaglia la prima e la seconda pagina
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);

Vedi anche

Lavorare con le immagini Lavorare con le proprietà