跳轉到主要內容
此物件包含影像上像素座標的資訊,代表其從 ImageDocument 物件 (CoordinatesConverter 屬性) 取得當下的狀態。它可讓您將像素座標從一種影像修改狀態轉換為另一種狀態。 您可以使用此物件,在影像處理的任意兩個階段之間轉換像素座標。例如:
  1. 在開啟影像後立即取得此物件,此時影像傾斜已完成校正。
  2. 套用多項其他修改,然後從 ImageDocument 取得此物件的另一個執行個體。
  3. 現在您可以藉由兩次套用 ConvertCoordinates 方法,在初始校正傾斜後的影像平面與修改後的影像平面之間轉換像素座標:
    • 使用第一個 CoordinatesConverter 執行個體,從校正傾斜後的影像平面轉換至原始影像平面;
    • 使用第二個 CoordinatesConverter 執行個體,將結果從原始影像平面轉換至修改後的影像平面。
CoordinatesConverter 物件是持久性物件。這表示物件的目前狀態可寫入持久性儲存體。之後,可藉由從持久性儲存體讀取物件狀態來重新建立該物件。以下方法可用於持續保存此物件: Linux:SaveToFileLoadFromFile Windows:SaveToFileLoadFromFileSaveToMemoryLoadFromMemory

屬性

名稱型別說明
ApplicationEngine, 唯讀的回傳 Engine 物件。

方法

名稱說明
ConvertCoordinatesImageDocument 的不同修改狀態或影像平面之間轉換像素座標。
LoadFromFile從磁碟上的檔案還原物件內容。
LoadFromMemory <Note> 僅適用於 Windows。 </Note>從全域記憶體還原物件內容。
SaveToFile將物件內容儲存至磁碟上的檔案。
SaveToMemory <Note> 僅適用於 Windows。 </Note>將物件內容儲存至全域記憶體。
CoordinatesConverter 物件圖

範例

以下是 Windows 平台的一個範例,示範如何使用此物件在兩種不同的修改狀態之間轉換座標:

C#

FREngine.IEngine engine;
FREngine.IFRDocument frDoc;
// 將影像新增至文件時,預設會執行歪斜校正
frDoc.AddImageFile ("D:\\Sample.tif", null, null);
// 開啟第一頁的 ImageDocument
FREngine.IImageDocument imageDoc = frDoc.Pages[0].ImageDocument; 
// 開啟後建立座標快照
FREngine.ICoordinatesConverter convAfterOpening = imageDoc.CoordinatesConverter;
// 進一步轉換影像
imageDoc.Transform(FREngine.RotationTypeEnum.RT_Counterclockwise, false, false);
// 轉換後建立座標快照
FREngine.ICoordinatesConverter convAfterModification = imageDoc.CoordinatesConverter;
...
// 經過一些處理後,您在修改後的影像平面上找到一個需要轉換座標的像素
int x, y;
convAfterModification.ConvertCoordinates(FREngine.ImageTypeEnum.IT_Base, FREngine.ImageTypeEnum.IT_Modified, ref x, ref y);
convAfterOpening.ConvertCoordinates(FREngine.ImageTypeEnum.IT_Modified, FREngine.ImageTypeEnum.IT_Base, ref x, ref y);
// 現在 x、y 包含校正傾斜後的影像平面上目標點的座標
此物件也用於 macOS 的 名片辨識 程式碼範例。

另請參閱

ImageDocument 處理影像 使用屬性