メインコンテンツへスキップ
このオブジェクトは、画像変更のパラメーターを格納するために使用されます。画像を変更するメソッド IImageDocument::Modify は、ほかのいくつかのメソッドと同様に、このオブジェクトへの参照を入力パラメーターとして受け取ります。ImageModification では、伸張、クリッピング領域、色反転領域、ペイント領域、ピクセル置換領域、ごみ除去領域の設定など、画像に対して幅広い操作を行えます。画像は次のように変更されます。
  • 領域内のテキストの色とごみのサイズが決定されます。
  • クリッピング領域内の画像部分が切り取られます。
  • “Paint” 領域は対応する色で塗りつぶされます。
  • “invert” 領域内の色は反転されます。
  • “黒ピクセル置換” 領域内の黒い点は、対応する色の点に置き換えられます。
  • “白ピクセル置換” 領域内の白い点は、対応する色の点に置き換えられます。
  • “remove garbage” 領域内のごみは除去されます。この変更は、白黒イメージプレーンにのみ適用できます。
  • 画像は StretchRatio プロパティで定義された伸張率で伸張されます。
このオブジェクトに追加されるすべての領域は、画像矩形の境界を超えてはなりません。 ImageModification オブジェクトは永続オブジェクトです。これは、オブジェクトの現在の状態を永続ストレージに書き込めることを意味します。後で、永続ストレージからオブジェクトの状態を読み取ることで、オブジェクトを再作成できます。次のメソッドは、オブジェクトの永続化を提供します。 Linux: SaveToFile および LoadFromFile Windows: SaveToFileLoadFromFileSaveToMemory、および LoadFromMemory

プロパティ

NameTypeDescription
ApplicationEngine, 読み取り専用Engine オブジェクトを返します。
StretchRatiodouble画像に適用するストレッチ比を指定します。既定値は 1.0 で、これはストレッチなしを意味します。

メソッド

名前説明
AddClipRegionクリッピング領域の内部配列に、新しいクリッピング領域を追加します。
AddInvertRegion色反転領域の内部配列に、新しい色反転領域を追加します。
AddPaintRegionペイント領域の内部配列に、新しいペイント領域を追加します。
AddReplaceBlackPixelsRegion「黒ピクセル置換」領域の内部配列に、新しい「黒ピクセル置換」領域を追加します。
AddReplaceWhitePixelsRegion「白ピクセル置換」領域の内部配列に、新しい「白ピクセル置換」領域を追加します。
ClearClipRegionsクリッピング領域の内部配列をクリアします。
ClearInvertRegions色反転領域の内部配列をクリアします。
ClearPaintRegionsペイント領域の内部配列をクリアします。
ClearReplaceBlackPixelsRegions「黒ピクセル置換」領域の内部配列をクリアします。
ClearReplaceWhitePixelsRegions「白ピクセル置換」領域の内部配列をクリアします。
CopyFrom現在のオブジェクトのプロパティを、別のオブジェクトの対応するプロパティの値で初期化します。
LoadFromFileディスク上のファイルからオブジェクトの内容を復元します。
LoadFromMemory <Note> Windows のみ </Note>グローバルメモリからオブジェクトの内容を復元します。
SaveToFileオブジェクトの内容をディスク上のファイルに保存します。
SaveToMemory <Note> Windows のみ。 </Note>オブジェクトの内容をグローバルメモリに保存します。

出力パラメーター

このオブジェクトは、EngineオブジェクトのCreateImageModificationメソッドにおける出力パラメーターです。

入力パラメーター

このオブジェクトは、次のメソッドに入力パラメーターとして渡されます。

サンプル

int splitStartPosition;
int splitEndPosition;
bool isVerticalSplit;
FREngine.IFRDocument frDoc;
FREngine.IFRPage page;
// ドキュメントページの画像を2つのページに分割します
// 画像のサイズ
int width = page.ImageDocument.ColorImage.Width;
int height = page.ImageDocument.ColorImage.Height;
// ページを複製
frDoc.AddPage(page);
FREngine.IFRPage secondPage = frDoc.Pages[frDoc.Pages.Count - 1];
// 1つ目と2つ目のページを切り抜き
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);

関連項目

画像の操作 プロパティの操作