Questo oggetto consente di accedere all’handle di una risorsa in memoria. Viene restituito da alcuni metodi che forniscono l’accesso a un’immagine bitmap o a un blocco di memoria. L’oggetto gestisce l’allocazione della memoria e consente di evitare perdite di memoria durante l’utilizzo di queste risorse.
Questa interfaccia non supporta l’automazione. Ciò significa che non funziona in Linux e Windows se FineReader Engine è caricato come server out-of-process.
L’oggetto viene utilizzato nelle seguenti situazioni:
Se prevedi di utilizzare la risorsa al di fuori di FineReader Engine
Puoi ottenere l’handle della risorsa tramite la proprietà Handle e utilizzarlo. In questo caso, se rilasci l’oggetto Handle, viene rilasciata anche la risorsa. In alternativa, puoi ottenere l’handle e separare da esso l’oggetto Handle (usa il metodo Detach). In questo caso, sei responsabile del rilascio della risorsa.
Se prevedi di passare la risorsa ad altri metodi di FineReader Engine
Puoi ottenere l’handle della risorsa come __int64 tramite la proprietà HandleAsInt64. Successivamente, puoi passare il valore di questa proprietà a un metodo di FineReader Engine che lo richiede. Se rilasci l’oggetto Handle, viene rilasciata anche la risorsa. Puoi rilasciare la risorsa manualmente chiamando il metodo CloseHandle.
Restituisce l’handle della risorsa come __int64. È possibile passare il valore restituito da questa proprietà a un metodo di FineReader Engine come parametro di input.
FREngine.IEngine engine;FREngine.IFRDocument frdoc;// Si presume che il documento sia già stato creato e che vi siano state aggiunte immagini// Recupera l'handle del bitmap del piano a colori di una pagina del documentoFREngine.IFRPage page = frDoc.Pages[0];FREngine.IImageDocument imageDoc = page.ImageDocument;FREngine.IImage image = imageDoc.ColorImage;FREngine.IHandle hBitmap = image.GetBitmap( null );// Utilizza il bitmapSystem.Drawing.IImage preprocessedImage = System.Drawing.Image.FromHbitmap( hBitmap.Handle );...Gdi32.DeleteObject( hBitmap );