메인 콘텐츠로 건너뛰기
이 객체는 이미지 수정 매개변수를 저장하는 데 사용됩니다. 이미지를 수정하는 데 사용되는 IImageDocument::Modify 메서드를 비롯한 일부 메서드는 이 객체에 대한 참조를 입력 매개변수로 받습니다. ImageModification을 사용하면 이미지에 대해 늘이기, 클리핑 영역 설정, 반전 영역 설정, 칠하기 영역 설정, 픽셀 대체 영역 설정, 잡음 제거 영역 설정 등 다양한 작업을 수행할 수 있습니다. 이미지는 다음과 같이 수정됩니다.
  • 영역에서 텍스트의 색상과 잡음의 크기가 결정됩니다.
  • 클리핑 영역 내부의 이미지 부분이 잘립니다.
  • “Paint” 영역은 해당 색상으로 채워집니다.
  • “invert” 영역 내부의 색상은 반전됩니다.
  • “replace black pixels” 영역 내부의 검은 점은 해당 색상의 점으로 대체됩니다.
  • “replace white pixels” 영역 내부의 흰 점은 해당 색상의 점으로 대체됩니다.
  • “remove garbage” 영역 내부의 잡음이 제거됩니다. 이 수정은 흑백 이미지 평면에만 적용할 수 있습니다.
  • 이미지는 StretchRatio 속성에 정의된 늘림 비율에 따라 늘어납니다.
이 객체에 추가되는 모든 영역은 이미지 사각형의 경계를 초과해서는 안 됩니다. ImageModification 객체는 영속 객체입니다. 즉, 객체의 현재 상태를 영구 저장소에 쓸 수 있습니다. 이후 영구 저장소에서 객체의 상태를 읽어 객체를 다시 생성할 수 있습니다. 다음 메서드는 객체의 영속성을 지원합니다. Linux: SaveToFile, LoadFromFile Windows: SaveToFile, LoadFromFile, SaveToMemory, LoadFromMemory.

속성

이름유형설명
Application엔진, 읽기 전용엔진 객체를 반환합니다.
StretchRatiodouble이미지에 적용할 늘림 비율을 지정합니다. 기본값은 1.0이며, 이는 늘림이 적용되지 않음을 의미합니다.

메서드

NameDescription
AddClipRegion새 클리핑 영역을 클리핑 영역의 내부 배열에 추가합니다.
AddInvertRegion새 반전 영역을 반전 영역의 내부 배열에 추가합니다.
AddPaintRegion새 칠하기 영역을 칠하기 영역의 내부 배열에 추가합니다.
AddReplaceBlackPixelsRegion새 “검은색 픽셀 대체” 영역을 “검은색 픽셀 대체” 영역의 내부 배열에 추가합니다.
AddReplaceWhitePixelsRegion새 “흰색 픽셀 대체” 영역을 “흰색 픽셀 대체” 영역의 내부 배열에 추가합니다.
ClearClipRegions클리핑 영역의 내부 배열을 비웁니다.
ClearInvertRegions반전 영역의 내부 배열을 비웁니다.
ClearPaintRegions칠하기 영역의 내부 배열을 비웁니다.
ClearReplaceBlackPixelsRegions”검은색 픽셀 대체” 영역의 내부 배열을 비웁니다.
ClearReplaceWhitePixelsRegions”흰색 픽셀 대체” 영역의 내부 배열을 비웁니다.
CopyFrom다른 객체의 유사한 속성 값을 사용해 현재 객체의 속성을 초기화합니다.
LoadFromFile디스크의 파일에서 객체 콘텐츠를 복원합니다.
LoadFromMemory <Note> Windows 전용 </Note>전역 메모리에서 객체 콘텐츠를 복원합니다.
SaveToFile객체 콘텐츠를 디스크의 파일에 저장합니다.
SaveToMemory <Note> Windows 전용. </Note>객체 콘텐츠를 전역 메모리에 저장합니다.

출력 매개변수

이 객체는 엔진 객체의 CreateImageModification 메서드에서 출력 매개변수로 사용됩니다.

입력 매개변수

이 객체는 다음 메서드에 입력 매개변수로 전달됩니다.

예제

int splitStartPosition;
int splitEndPosition;
bool isVerticalSplit;
FREngine.IFRDocument frDoc;
FREngine.IFRPage page;
// 문서 페이지 이미지를 두 개의 페이지로 분할
// 이미지 크기
int width = page.ImageDocument.ColorImage.Width;
int height = page.ImageDocument.ColorImage.Height;
// 페이지 복제
frDoc.AddPage(page);
FREngine.IFRPage secondPage = frDoc.Pages[frDoc.Pages.Count - 1];
// 첫 번째 페이지와 두 번째 페이지 자르기
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);

참고 항목

Image 작업 Properties 작업