LBitmap::Scramble
#include "ltwrappr.h"
virtual L_INT LBitmap::Scramble (nColStart, nRowStart nWidth, nHeight, uKey, uFlags)
L_INT32 nColStart; |
/* starting column in pixels (0-based)*/ |
L_INT32 nRowStart; |
/* starting row in pixels (0-based)*/ |
L_INT32 nWidth; |
/* width of area to scramble in pixels */ |
L_INT32 nHeight; |
/* height of area to scramble in pixels */ |
L_UINT32 uKey; |
/* key that determines the scramble */ |
L_UINT uFlags; |
/* flag that determines whether to encrypt or decrypt the area */ |
Scrambles all or a portion of a bitmap. This function is available in the Document/Medical Toolkits.
Parameter |
Description | |
nColStart |
Starting column in pixels (0-based). | |
nRowStart |
Starting row in pixels (0-based). | |
nWidth |
Width of area to scramble in pixels. | |
nHeight |
Height of area to scramble in pixels. | |
uKey |
Key that determines the scramble. This is an unsigned integer with a minimum value of 0 and a maximum value of 4294967295 (0xffffffff). | |
uFlags |
Flag that determines whether to encrypt or decrypt the area. Possible values are: | |
|
Value |
Meaning |
|
SB_ENCRYPT |
Encrypts the area (the reverse of a decrypt). |
|
SB_DECRYPT |
Decrypts the area (the reverse of an encrypt). |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
Scrambling a rectangular area means that the pixels in that area are shuffled around into a pseudo-random location within the area.
Some properties of shuffling:
No colors are introduced,
Color counts remain unchanged
Given the same encrypt area (defined by nColStart, nRowStart, nWidth, nHeight) and the same key, setting (uFlags = SB_ENCRYPT) is the inverse of (uFlags = SB_DECRYPT)
Required DLLs and Libraries
LTKRN For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
See Also
Functions: |
LAnnEncrypt::GetEncryptOptions, LAnnEncrypt::SetEncryptOptions, Class Members |
Topics: |
|
|
|
|
|
|
|
|
Example
L_VOID ExampleScrambleBitmap(LBitmap *pLBitmap)
{
if (!pLBitmap->IsAllocated())
return;
pLBitmap->Scramble(
0,
0,
pLBitmap->GetWidth()/2,
pLBitmap->GetHeight()/2,
123,
SB_ENCRYPT);
}