function Leadtools.Annotations.Core.AnnDataProvider()
AnnDataProvider is used to provide support for getting and setting image data when needed in the annotation framework.
AnnRedactionObject and AnnEncryptObject can be used to redact and encrypt an area in the image being annotated. For example the AnnRedactionObject works as follows:
Realizaing is when the object saves the image data underneeth the bounding rectangle and fills it with a black color to hide it from unauthorized users.
Restoring is when the saved image data is rendered back into the same rectangle that was erased. Revealing the hidden information back to authorized users.
These operations required the ability to copy image data from and to a particular rectangle in the original image and vice as well as perform simple image processing, in this case, filling with a black color.
These operation are platform and application specific and the image data can be obtained from any type of source and therefore, the generic AnnDataProvider is used.
AnnDataProvider is an abstract class that must be implemented by the application and the following members must be provided:
Member | Description |
---|---|
CanWrite |
Used by the automation object to detect if this AnnDataProvider supports writing image data. |
CanRead |
Used by the automation object to detect if this AnnDataProvider supports reading image data. |
GetImageData |
Returns the image data at the specified location and size. |
SetImageData |
Sets the image data at the specified location and size. |
Fill |
Fills with a color the image data at the specified location and size. |
Encrypt |
Encrypts with a key the image data at the specified location and size. |
Decrypt |
Decrypts the image data at the specified location and size using a key. |
All the Leadtools.Annotations.[Platform] examples projects provide a full implementation of AnnDataProvider for the specific platform. Refer to the source code for an example.
IAnnAutomationControl contains an instance of AnnDataProvider that must be set to provide automation support for the redaction and encryption annotation objects.
The methods of AnnDataProvider are called when:
During AnnRedactionObject.Realize: the GetImageData method is called to get the pixel data for the area to be redacted and Fill method is called to fill that area with a black color.
During AnnRedactionObject.Restore: the SetImageData method is called to put the pixel data back in the image.
During AnnEncryptObject.Apply: the Encrypt method is called to scramble the pixel data of the image if AnnEncryptObject.Encryptor was true and the Decrypt method is called to de-scramble the pixel data of the image if AnnEncryptObject.Encryptor was false.