#include "l_bitmap.h"
L_LTKRN_API L_INT L_ScrambleBitmap(pBitmap, nColStart, nRowStart, nWidth, nHeight, uKey, uFlags)
pBITMAPHANDLE pBitmap; |
pointer to a bitmap handle for the bitmap to be scrambled |
L_INT nColStart; |
starting column in pixels (0-based) |
L_INT nRowStart; |
starting row in pixels (0-based) |
L_INT nWidth; |
width of area to scramble in pixels |
L_INT nHeight; |
height of area to scramble in pixels |
L_UINT 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.
Parameter | Description | |
pBitmap | Pointer to a bitmap handle for the bitmap to be scrambled. | |
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). | |
SB_INTERSECT | Intersect the specified rectangle with the bitmaps rectangle. |
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
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
For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Win32, x64, Linux.
Functions: |
L_AnnGetMetafile, L_AnnSetMetafile, L_AnnGetPredefinedMetafile, L_AnnSetPredefinedMetafile, L_AnnEncryptApply, L_AnnSetEncryptOptions, L_AnnGetEncryptOptions |
Topics: |
|
|
|
|
|
|
|
|
This example scrambles the upper left quadrant of a bitmap using the key 123
L_INT ScrambleBitmapExample(pBITMAPHANDLE pBitmap)
{
L_INT nRet;
if (!pBitmap)
return ERROR_NO_BITMAP;
nRet = L_ScrambleBitmap(pBitmap, 0, 0, BITMAPWIDTH(pBitmap)/2, BITMAPHEIGHT(pBitmap)/2, 123, SB_ENCRYPT);
if(nRet != SUCCESS)
return nRet;
return SUCCESS;
}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET