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,
  No colors are introduced,
 Color counts remain unchanged
  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); 
}