Restores redact objects that have a bitmap saved inside them.


#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnUnrealize(pBitmap, prcBounds, hObject, fSelected)



Pointer to the bitmap handle referencing the bitmap to update.

LPRECT prcBounds

Pointer to the Windows RECT structure that specifies the bounding rectangle where the annotations will be drawn.

You can pass NULL for the default, which matches the bitmap by specifying left = 0, top = 0, right = bitmap width, and bottom = bitmap height.


Handle to the annotation object to restore. The object can be a redact object or a container object (in which case, all the redact objects contained inside - or only the selected redact objects) are restored.

L_BOOL fSelected

Flag that indicates which objects to restore. Possible values are:

Value Meaning
TRUE Restore only the selected objects.
FALSE Restore all objects.


Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.


Restores the background of a redact object. This function is valid only for redact objects or container objects (for more than one redact object).

If you realize a redact object, moving the redact object will leave the original location of the redact object hidden. When you call L_AnnRealize and specify RedactOnly, for every Redact object, the background of the image behind is saved inside the object. To restore the image under the redact object (so that when you move the redact object, the underlying image is not hidden), you must unrealize the redact object by calling L_AnnUnrealize. L_AnnUnrealize will restore the background from a redact object that contains a background bitmap. The background of a locked object cannot be restored until the object is unlocked. If hObject is a container, then fSelected indicates whether all the Redact objects included in the container should be restored, or if only selected objects should be restored. If hObject is a Redact object, fSelected is ignored. Locked redact objects are not restored. The background bitmap stored inside the redact object is destroyed after being restored.

The return value is SUCCESS if all objects have been restored, ERROR_ANN_LOCKED if one or more redact objects are not restored because they are still locked. Any other error code is an indication of a fatal error.

Encryptor objects cannot be realized. The encryptor is the only annotation object that cannot be realized.

Required DLLs and Libraries


Win32, x64.

See Also




This example attempts to restore all redact objects within a container.
If this is unsuccessful, a message is displayed.

L_INT AnnUnrealizeExample(HANNOBJECT hContainer /* Container object */, 
   pBITMAPHANDLE pBitmap /* bitmap handle */) 
   /* unrealize all of the redact objects */ 
   if (L_AnnUnrealize(pBitmap, NULL, hContainer, L_FALSE) == ERROR_ANN_LOCKED) 
      _tprintf(_T("%s"), TEXT("Warning: Some redact objects are locked and cannot be restored")); 
   return SUCCESS; 

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.