> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ImageModification オブジェクト（IImageModification インターフェイス）

> ABBYY FineReader Engine API の ImageModification オブジェクト（IImageModification インターフェイス）— IImageDocument.Modify の画像変更パラメーター（クリップ、ペイント、反転、黒ピクセル置換、白ピクセル置換、ごみ除去の各領域、および伸張）を格納します。

このオブジェクトは、画像変更のパラメーターを格納するために使用されます。画像を変更するメソッド [IImageDocument::Modify](/ja/fine-reader/engine/api-reference/image-related-objects/imagedocument/modify-method) は、ほかのいくつかのメソッドと同様に、このオブジェクトへの参照を入力パラメーターとして受け取ります。ImageModification では、伸張、クリッピング領域、色反転領域、ペイント領域、ピクセル置換領域、ごみ除去領域の設定など、画像に対して幅広い操作を行えます。画像は次のように変更されます。

* 領域内のテキストの色とごみのサイズが決定されます。
* クリッピング領域内の画像部分が切り取られます。
* "Paint" 領域は対応する色で塗りつぶされます。
* "invert" 領域内の色は反転されます。
* "黒ピクセル置換" 領域内の黒い点は、対応する色の点に置き換えられます。
* "白ピクセル置換" 領域内の白い点は、対応する色の点に置き換えられます。
* "remove ごみ" 領域内のごみは除去されます。この変更は、[白黒](/ja/fine-reader/engine/guided-tour/advanced-techniques/working-with-images#black-and-white)イメージプレーンにのみ適用できます。
* 画像は StretchRatio プロパティで定義されたストレッチ比で伸張されます。

このオブジェクトに追加されるすべての領域は、画像矩形の境界を超えてはなりません。

ImageModification オブジェクトは永続オブジェクトです。これは、オブジェクトの現在の状態を永続ストレージに書き込めることを意味します。後で、永続ストレージからオブジェクトの状態を読み取ることで、オブジェクトを再作成できます。次のメソッドは、オブジェクトの永続化を提供します。

Linux: [SaveToFile](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method) および [LoadFromFile](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method)

Windows: [SaveToFile](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method)、[LoadFromFile](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method)、[SaveToMemory](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method)、および [LoadFromMemory](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfrommemory-method)。

<div id="properties">
  ## プロパティ
</div>

| Name         | Type                                                                                                                                                                                                             | Description                                      |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| Application  | [Engine](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface), [読み取り専用](/ja/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties) | Engine オブジェクトを返します。                              |
| StretchRatio | [double](/ja/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)                                                                                                     | 画像に適用するストレッチ比を指定します。既定値は 1.0 で、これはストレッチなしを意味します。 |

<div id="methods">
  ## メソッド
</div>

| 名前                                                                                                                                                   | 説明                                                     |
| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| [AddClipRegion](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/addclipregion-method)                                   | クリッピング領域の内部配列に、新しいクリッピング領域を追加します。                      |
| [AddInvertRegion](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/addinvertregion-method)                               | 色反転領域の内部配列に、新しい色反転領域を追加します。                            |
| [AddPaintRegion](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/addpaintregion-method)                                 | ペイント領域の内部配列に、新しいペイント領域を追加します。                          |
| [AddReplaceBlackPixelsRegion](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/addreplaceblackpixelsregion-method)       | 「黒ピクセル置換」領域の内部配列に、新しい「黒ピクセル置換」領域を追加します。                |
| [AddReplaceWhitePixelsRegion](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/addreplacewhitepixelsregion-method)       | 「白ピクセル置換」領域の内部配列に、新しい「白ピクセル置換」領域を追加します。                |
| [ClearClipRegions](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearclipregions-method)                             | クリッピング領域の内部配列をクリアします。                                  |
| [ClearInvertRegions](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearinvertregions-method)                         | 色反転領域の内部配列をクリアします。                                     |
| [ClearPaintRegions](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearpaintregions-method)                           | ペイント領域の内部配列をクリアします。                                    |
| [ClearReplaceBlackPixelsRegions](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearreplaceblackpixelsregions-method) | 「黒ピクセル置換」領域の内部配列をクリアします。                               |
| [ClearReplaceWhitePixelsRegions](/ja/fine-reader/engine/api-reference/image-related-objects/imagemodification/clearreplacewhitepixelsregions-method) | 「白ピクセル置換」領域の内部配列をクリアします。                               |
| [CopyFrom](/ja/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/copyfrom-method)                             | 現在のオブジェクトのプロパティを、別のオブジェクトの対応するプロパティの値で初期化します。          |
| [LoadFromFile](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method)                                           | ディスク上のファイルからオブジェクトの内容を復元します。                           |
| [LoadFromMemory](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfrommemory-method)                                       | グローバルメモリからオブジェクトの内容を復元します。 <Note> *Windows のみ。*</Note> |
| [SaveToFile](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method)                                               | オブジェクトの内容をディスク上のファイルに保存します。                            |
| [SaveToMemory](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method)                                           | オブジェクトの内容をグローバルメモリに保存します。 <Note> *Windows のみ。*</Note>  |

<div id="output-parameter">
  ## 出力パラメーター
</div>

このオブジェクトは、[Engine](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface)オブジェクトの[CreateImageModification](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods)メソッドにおける出力パラメーターです。

<div id="input-parameter">
  ## 入力パラメーター
</div>

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

* [Image](/ja/fine-reader/engine/api-reference/image-related-objects/image) オブジェクトの [WriteToFile](/ja/fine-reader/engine/api-reference/image-related-objects/image/writetofile-method)、[EstimateBitmapSize](/ja/fine-reader/engine/api-reference/image-related-objects/image/estimatebitmapsize-method) (Win) 、[GetBitmap](/ja/fine-reader/engine/api-reference/image-related-objects/image/getbitmap-method) (Win) メソッド
* [ImageDocument](/ja/fine-reader/engine/api-reference/image-related-objects/imagedocument) オブジェクトの [Modify](/ja/fine-reader/engine/api-reference/image-related-objects/imagedocument/modify-method) メソッド。

<div id="samples">
  ## サンプル
</div>

<Accordion title="C# code">
  ```csharp theme={null}
  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);
  ```
</Accordion>

<div id="see-also">
  ## 関連項目
</div>

[画像の操作](/ja/fine-reader/engine/guided-tour/advanced-techniques/working-with-images)

[プロパティの操作](/ja/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
