L_GetUserLookupTable
#include "l_bitmap.h"
L_INT EXT_FUNCTION L_GetUserLookupTable (pLookupTable, uLookupLen, apUserPoint, UserPointCount, puPointCount)
/* lookup table */ | |
L_UINT uLookupLen; |
/* lookup table length */ |
POINT L_FAR *apUserPoint; |
/* array of points */ |
L_UINT UserPointCount; |
/* number of points in the array */ |
/* pointer to a variable to be updated */ |
Updates the lookup table, based on a curve that passes through the specified points.
Parameter |
Description |
|
pLookupTable |
Pointer to the lookup table to be filled by this function. The length of the lookup table is specified in the uLookupLen parameter. |
|
uLookupLen |
Length of the lookup table pointed to by the pLookupTable parameter. Possible values are: |
|
|
Value |
Meaning |
|
65536 |
16-bit / sample image |
|
4096 |
12-bit / sample image |
|
256 |
8-bit / sample image |
apUserPoint |
Pointer to an array of POINT structures that contain the points on the curve used to update the lookup table. |
|
UserPointCount |
Number of points in the apUserPoint array. |
|
puPointCount |
Pointer to a variable to be updated with the number of entries in the lookup table that were actually updated. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
This function will update the lookup table array using the best curve that passes through the points specified in the apUserPoint parameter. The points in the array may be sorted or not. In most cases, this function is used with the L_RemapBitmapIntensity function.
Required DLLs and Libraries
LTIMG For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Platforms
Windows 95 / 98 / Me, Windows 2000 / XP.
See Also
Functions: |
L_GetFunctionalLookupTable, L_RemapBitmapIntensity, L_AdjustBitmapTint, L_GammaCorrectBitmapExt |
Topics: |
|
|
|
|
Example
/* This example will brighten the loaded bitmap using the lookup table updated by the L_GetUserLookupTable function.*/
L_UINT LookupTable[256]; /* Array to hold lookup table*/
BITMAPHANDLE LeadBitmap; /*Bitmap handle to hold the loaded image */
POINT apUserPoint[3] = {{0,0},{128,150},{255,255}};
/* Load the bitmap, force 24 bits per pixel */
L_LoadBitmap (TEXT("IMAGE3.CMP"), &LeadBitmap, sizeof(BITMAPHANDLE), 24, ORDER_BGR, NULL, NULL);
/*Get Lookup table where the array effected by user data function */
L_GetUserLookUpTable (LookupTable, 256,apUserPoint, 3, NULL);
L_RemapBitmapIntensity (&LeadBitmap, LookupTable, 256,CHANNEL_MASTER);