此对象用于访问内存中资源的句柄。某些可提供位图图像或内存块访问的方法会返回该对象。该对象负责管理内存分配,帮助您在使用这些资源时避免内存泄漏。
此接口不支持自动化。这意味着,如果 FineReader Engine 作为进程外服务器加载,它在 Linux 和 Windows 上都无法使用。
该对象适用于以下情况:
- 如果您计划在 FineReader Engine 外部使用该资源
您可以通过 Handle 属性获取资源的句柄并使用它。在这种情况下,如果您释放 Handle 对象,资源也会一并释放。或者,您也可以获取该句柄,并将 Handle 对象与其分离 (使用 Detach method) 。在这种情况下,您需要自行负责释放该资源。
- 如果您计划将该资源传递给 FineReader Engine 的其他方法
您可以通过 HandleAsInt64 属性以 __int64 形式获取资源句柄。之后,您可以将该属性的值传递给 FineReader Engine 中需要它的方法。如果您释放 Handle 对象,资源也会一并释放。您也可以通过调用 CloseHandle method 手动释放该资源。
| 名称 | 类型 | 说明 |
|---|
| Application | Engine, 只读 | 返回 Engine 对象。 |
| Handle | HANDLE*, 只读 | 返回资源的句柄。您可以通过此属性获取该句柄,并使用该资源。 |
| HandleAsInt64 | __int64, 只读 | 以 __int64 形式返回资源的句柄。您可以将此属性的返回值作为输入参数传递给 FineReader Engine 的某个方法。 |
| 名称 | 描述 |
|---|
| CloseHandle | 释放该资源。 |
| Detach | 返回句柄,并将对象与该句柄分离。 |
此对象是以下方法的输出参数:
FREngine.IEngine engine;
FREngine.IFRDocument frdoc;
// 假定该文档已创建,并且已向其中添加了图像
// 获取文档页面彩色图像平面的位图句柄
FREngine.IFRPage page = frDoc.Pages[0];
FREngine.IImageDocument imageDoc = page.ImageDocument;
FREngine.IImage image = imageDoc.ColorImage;
FREngine.IHandle hBitmap = image.GetBitmap( null );
// 处理该位图
System.Drawing.IImage preprocessedImage = System.Drawing.Image.FromHbitmap( hBitmap.Handle );
...
Gdi32.DeleteObject( hBitmap );
该对象可用于以下 Windows 演示工具:Engine Predefined Processing Profiles。
属性 的使用