Pular para o conteúdo principal
Este objeto é usado para armazenar parâmetros de modificação de imagem. O método IImageDocument::Modify, usado para modificar uma imagem, juntamente com outros métodos, recebe uma referência a este objeto como parâmetro de entrada. O ImageModification permite uma ampla variedade de operações sobre uma imagem, como alongamento, configuração de regiões de recorte, regiões de inversão, regiões de pintura, regiões de substituição de pixels e regiões de remoção de ruído. A imagem é modificada da seguinte forma:
  • A cor do texto e o tamanho do ruído nas regiões são determinados.
  • A parte da imagem dentro das regiões de recorte é cortada.
  • As regiões de “pintura” são preenchidas com a cor correspondente.
  • As cores dentro das regiões de “inversão” são invertidas.
  • Pontos pretos dentro das regiões de “substituição de pixels pretos” são substituídos por pontos da cor correspondente.
  • Pontos brancos dentro das regiões de “substituição de pixels brancos” são substituídos por pontos da cor correspondente.
  • O ruído dentro das regiões de “remoção de ruído” é removido. Esta modificação pode ser aplicada apenas ao plano de imagem preto e branco.
  • A imagem é alongada com a razão de alongamento definida pela propriedade StretchRatio.
Todas as regiões adicionadas a este objeto não devem exceder os limites do retângulo da imagem. O objeto ImageModification é um objeto persistente. Isso significa que o estado atual do objeto pode ser gravado em armazenamento persistente. Mais tarde, o objeto pode ser recriado lendo seu estado a partir do armazenamento persistente. Os seguintes métodos fornecem a persistência do objeto: Linux: SaveToFile e LoadFromFile Windows SaveToFile, LoadFromFile, SaveToMemory e LoadFromMemory.

Properties

NameTypeDescription
ApplicationEngine, somente leituraRetorna o objeto Engine.
StretchRatiodoubleEspecifica a razão de alongamento a ser aplicada à imagem. Por padrão, esta propriedade é 1.0, o que corresponde à ausência de alongamento.

Métodos

NomeDescrição
AddClipRegionAdiciona uma nova região de clipagem ao array interno de regiões de clipagem.
AddInvertRegionAdiciona uma nova região de inversão ao array interno de regiões de inversão.
AddPaintRegionAdiciona uma nova região de pintura ao array interno de regiões de pintura.
AddReplaceBlackPixelsRegionAdiciona uma nova região de “substituição de pixels pretos” ao array interno de regiões de “substituição de pixels pretos”.
AddReplaceWhitePixelsRegionAdiciona uma nova região de “substituição de pixels brancos” ao array interno de regiões de “substituição de pixels brancos”.
ClearClipRegionsLimpa o array interno de regiões de clipagem.
ClearInvertRegionsLimpa o array interno de regiões de inversão.
ClearPaintRegionsLimpa o array interno de regiões de pintura.
ClearReplaceBlackPixelsRegionsLimpa o array interno de regiões de “substituição de pixels pretos”.
ClearReplaceWhitePixelsRegionsLimpa o array interno de regiões de “substituição de pixels brancos”.
CopyFromInicializa as propriedades do objeto atual com os valores de propriedades semelhantes de outro objeto.
LoadFromFileRestaura o conteúdo do objeto a partir de um arquivo no disco.
LoadFromMemory <Note> Windows only </Note>Restaura o conteúdo do objeto a partir da memória global.
SaveToFileSalva o conteúdo do objeto em um arquivo no disco.
SaveToMemory <Note> Windows only. </Note>Salva o conteúdo do objeto na memória global.

Parâmetro de saída

Este objeto é o parâmetro de saída do método CreateImageModification do objeto Engine.

Parâmetro de entrada

Este objeto é passado como parâmetro de entrada para os métodos a seguir:

Amostras

int splitStartPosition;
int splitEndPosition;
bool isVerticalSplit;
FREngine.IFRDocument frDoc;
FREngine.IFRPage page;
// Dividir a imagem de uma página do documento em duas páginas
// Dimensões da imagem
int width = page.ImageDocument.ColorImage.Width;
int height = page.ImageDocument.ColorImage.Height;
// Duplicar a página
frDoc.AddPage(page);
FREngine.IFRPage secondPage = frDoc.Pages[frDoc.Pages.Count - 1];
// Recortar a primeira e a segunda páginas
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);

Veja também

Trabalhando com Imagens Trabalhando com Properties