Bitmaps
When calling some functions of the LBitmapBase and LBitmap LEADTOOLS C++ Class Library classes, particularly those that affect the bitmap itself, then notification messages are sent through the LBitmapBase::StartChanging and LBitmapBase::EndChanging member functions. These functions are called before and after executing the function that changes the bitmap. This gives you more control over the operation in progress. In order to use this feature, you must override the virtual functions for StartChanging and EndChanging. In the LBitmapBase::StartChanging function, if you return an error code, the change operation will halt the calling function and will return the same error code. In the LBitmapBase::EndChanging function you will be notified that the calling function's operation is complete. This gives you a chance to do other processing such as updating the display.
The following sections describe the change notifications and the notification categories:
Bitmap Changing Notifications:
The following is a list of all the notification messages and the functions that send them:
Notification Message |
Function In Progress |
NC_RECTS_SRC_RECT |
|
NC_RECTS_CLIPSRC_RECT |
|
NC_RECTS_DST_RECT |
|
NC_RECTS_CLIPDST_RECT |
|
NC_BITMAP_BITMAPHANDLE |
|
|
|
NC_BITMAP_ALLOC |
|
NC_BITMAP_COPY |
|
NC_BITMAP_DATA |
|
NC_BITMAP_COPYHANDLE |
|
NC_BITMAP_CREATE |
|
NC_BITMAP_CREATEALPHA |
|
NC_BITMAP_INITIALIZE |
|
NC_BITMAP_COLOR_MERGE |
|
NC_REGION_FREE_REGION |
|
NC_REGION_OFFSET_REGION |
|
NC_REGION_SET_REGION |
|
|
|
|
|
|
|
|
|
|
|
|
|
NC_REGION_RESIZE_REGION |
|
NC_FREE_FREE |
|
NC_FREE_CHANGE_TO_DIB |
|
NC_FREE_CHANGE_TO_DDB |
|
NC_ACCESS_ACCESS |
|
NC_ACCESS_RELEASE |
|
NC_EDIT_ADD |
|
NC_EDIT_ADD_BORDER |
|
NC_EDIT_ADD_FRAME |
|
NC_EDIT_ALPHA_BLEND |
|
NC_EDIT_BALANCE_COLORS |
|
NC_EDIT_CHANGE_COMPRESSION |
|
NC_EDIT_CLEAR |
|
NC_EDIT_CLEAR_NEGATIVE_PIXELS |
|
NC_EDIT_COLORED_GRAY |
|
NC_EDIT_COLORRES |
|
|
|
NC_EDIT_COMBINE |
|
NC_EDIT_COPYRECT |
|
NC_EDIT_FEATHER_ALPHA_BLEND |
|
NC_EDIT_FILL |
|
NC_EDIT_GRAY |
|
NC_EDIT_GRAY_EXT |
|
NC_EDIT_PICTURIZE |
|
NC_EDIT_PIXELCOLOR |
|
NC_EDIT_PIXELDATA |
|
NC_EDIT_PUTROW |
|
NC_EDIT_PUTROWCOL |
|
NC_EDIT_PUTROWCOLCOMP |
|
NC_EDIT_PUTROWCOMP |
|
NC_EDIT_PUTCOLORS |
|
NC_EDIT_REMAP_INTENSITY |
|
NC_EDIT_REMOVE_REDEYE |
|
NC_EDIT_SETALPHA |
|
NC_EDIT_SIGNED_TO_UNSIGNED |
|
NC_EDIT_SWAP_COLORS |
|
NC_EDIT_UNDERLAY |
|
NC_EDIT_WINDOW_LEVEL |
|
|
|
NC_EDIT_WINDOW_LEVEL_BITMAP |
|
|
|
|
|
NC_TRANSFORM_ROTATE_VIEW_PERSPECTIVE |
|
NC_TRANSFORM_VIEW_PERSPECTIVE |
|
NC_TRANSFORM_FLIP |
|
NC_TRANSFORM_REVERSE |
|
NC_TRANSFORM_ROTATE |
|
NC_TRANSFORM_SHEAR |
|
NC_DIM_HEIGHT |
|
NC_DIM_TRIM |
|
NC_DIM_SIZE |
|
NC_DITHERING_START_DITHERING |
|
NC_DITHERING_DITHERING |
|
NC_DITHERING_STOP_DITHERING |
|
NC_FILTER_ADDNOISE |
|
|
|
NC_FILTER_ANTI_ALIAS |
|
NC_FILTER_AUTOTRIM |
|
NC_FILTER_AVERAGE |
|
|
|
NC_FILTER_BINARY |
|
NC_FILTER_CONTRAST |
|
|
|
NC_FILTER_EDGE_DETECTOR |
|
NC_FILTER_HALFTONE |
|
|
|
NC_FILTER_HUE |
|
|
|
NC_FILTER_INTENSITY |
|
NC_FILTER_SATURATION |
|
NC_FILTER_DESKEW |
|
NC_FILTER_DESPECKLE |
|
NC_FILTER_EMBOSS |
|
|
|
NC_FILTER_GAMMA_CORRECT |
|
|
|
NC_FILTER_GAUSSIAN |
|
NC_FILTER_INVERT |
|
NC_FILTER_HISTO_CONTRAST |
|
|
|
NC_FILTER_HISTO_EQUALIZE |
|
NC_FILTER_INTENSITY_DETECT |
|
|
|
NC_FILTER_MAX |
|
|
|
NC_FILTER_MEDIAN |
|
|
|
NC_FILTER_MIN |
|
|
|
NC_FILTER_MOTION_BLUR |
|
NC_FILTER_OILIFY |
|
|
|
NC_FILTER_POSTERIZE |
|
|
|
NC_FILTER_SOLARIZE |
|
|
|
NC_FILTER_SPATIAL |
|
NC_FILTER_STRETCH_INTENSITY |
|
NC_FILTER_GRADIENT |
|
NC_FILTER_LAPLACIAN |
|
NC_FILTER_SOBEL |
|
NC_FILTER_PREWITT |
|
NC_FILTER_SHIFTDIFF |
|
NC_FILTER_LINESEG |
|
NC_FILTER_EROSION |
|
NC_FILTER_DILATION |
|
NC_FILTER_SHARPEN |
|
|
|
NC_FILTER_BRIGHTNESS |
|
NC_FILTER_MOSAIC |
|
|
|
NC_FILTER_UNSHARP_MASK |
|
NC_FILTER_MULTIPLY |
|
NC_FILTER_REMAP_HUE |
|
|
|
NC_FILTER_ADDWEIGHTED |
|
NC_FILTER_LOCAL_HISTOEQUALIZE |
|
NC_FILTER_PIXELATE |
|
NC_FILTER_WIND |
|
NC_FILTER_IMPRESSIONIST |
|
NC_FILTER_WAVE |
|
NC_FILTER_ZOOM_WAVE |
|
NC_FILTER_RAD_WAVE |
|
NC_FILTER_FREE_HAND_SHEAR |
|
NC_FILTER_FREE_HAND_WAVE |
|
NC_FILTER_ADD_MESSAGE |
|
NC_FILTER_EXTRACT_MESSAGE |
|
NC_FILTER_SPHERIZE |
|
NC_FILTER_CYLINDRICAL |
|
NC_FILTER_BENDING |
|
NC_FILTER_PUNCH |
|
NC_FILTER_RIPPLE |
|
NC_FILTER_POLAR |
|
NC_FILTER_RADIAL_BLUR |
|
NC_FILTER_ZOOM_BLUR |
|
NC_FILTER_SWIRL |
|
NC_FILTER_DEINTERLACE |
|
NC_FILTER_SAMPLE_TARGET |
|
NC_FILTER_HALF_TONE |
|
NC_FILTER_CUBISM |
|
NC_FILTER_LIGHT_CONTROL |
|
NC_FILTER_GLASS_EFFECT |
|
NC_FILTER_LENS_FLARE |
|
NC_FILTER_BUMP_MAP |
|
NC_FILTER_GLOW_FILTER |
|
NC_FILTER_EDGE_DETECT_STATISTICAL |
|
NC_FILTER_DESATURATE |
|
NC_FILTER_SMOOTH_EDGES |
|
NC_FILTER_AUTO_BINARY |
|
NC_FILTER_BINARY |
|
NC_FILTER_CHANNEL_MIX |
|
NC_FILTER_PLANE |
|
NC_FILTER_PLANE_BEND |
|
NC_FILTER_TUNNEL |
|
NC_FILTER_FREE_RAD_BEND |
|
NC_FILTER_FREE_PLANE_BEND |
|
NC_FILTER_OCEAN |
|
NC_FILTER_LIGHT |
|
NC_FILTER_DRY |
|
NC_FILTER_DRAW_STAR |
|
NC_FILTER_ADD_SHADOW |
|
NC_FILTER_ALLOC_FT_ARRAY |
|
NC_FILTER_CHANGE_HUE_SAT_INT |
|
NC_FILTER_COLOR_REPLACE |
|
NC_FILTER_COLOR_THRESHOLD |
|
NC_FILTER_DFT |
|
NC_FILTER_DIRECTION_EDGE_STATISTICAL |
|
NC_FILTER_FFT |
|
NC_FILTER_FT_DISPLAY |
|
NC_FILTER_FRQ_FILTER |
|
NC_FILTER_FRQ_FILTER_MASK |
|
NC_FILTER_GET_STATISTICS_INFO |
|
NC_FILTER_GET_STATISTICS_INFO2 |
LBitmap::GetStatisticsInfo2 |
NC_FILTER_GET_FERETS_DIAMETER |
|
NC_FILTER_GET_OBJECT_INFO |
|
NC_FILTER_GET_RGN_CONTOUR_POINTS |
|
NC_FILTER_GET_RGN_PERIMETER_LENGTH |
|
NC_FILTER_MATH_FUNCTION |
|
NC_FILTER_REV_EFFECT |
|
NC_FILTER_SEGMENT |
|
NC_FILTER_SUBTRACT_BACKGROUND |
|
NC_FILTER_USER_FILTER |
|
NC_FILTER_ADAPTIVE_CONTRAST |
|
NC_FILTER_AGING |
|
NC_FILTER_APPLY_MATH_LOGIC |
|
NC_FILTER_COLOR_INTENSITY_BALANCE |
|
NC_FILTER_COLORIZE_GRAY |
|
NC_FILTER_CONT_BRIGHT_INT |
|
NC_FILTER_DICE_EFFECT |
|
NC_FILTER_DIGITAL_SUBTRACT |
|
NC_FILTER_DYNAMIC_BINARY |
|
NC_FILTER_EDGE_DETECT_EFFECT |
|
NC_FILTER_FUNCTIONAL_LIGHT |
|
NC_FILTER_MULTI_SCALE_ENHANCEMENT |
|
NC_FILTER_PUZZLE_EFFECT |
|
NC_FILTER_RING_EFFECT |
|
NC_FILTER_SELECT_DATA |
|
NC_FILTER_SHIFT_DATA |
|
NC_FILTER_TEXTURE_ALPHA_BLEND |
|
NC_FILTER_IS_REG_MARK |
|
NC_FILTER_GET_MARKS_CENTER_MASS |
|
NC_FILTER_SEARCH_REG_MARKS |
|
NC_FILTER_GET_TRANSFORMATION_PARAMETERS |
|
NC_FILTER_APPLY_TRANSFORMATION_PARAMETERS |
|
NC_FILTER_GRAY_SCALE_TO_DUOTONE |
|
NC_FILTER_GRAY_SCALE_TO_MULTITONE |
|
NC_FILTER_SKELETON |
|
NC_FILTER_COLOR_LEVEL |
|
NC_FILTER_AUTO_COLOR_LEVEL |
|
NC_FILTER_SELECTIVE_COLOR |
|
NC_FILTER_CORRELATION |
|
NC_FILTER_SET_OVERLAY |
|
NC_FILTER_GET_OVERLAY |
|
NC_FILTER_SET_OVERLAY_ATTRIBUTES |
|
NC_FILTER_GET_OVERLAY_ATTRIBUTES |
|
NC_FILTER_UPDATE_OVERLAY_BITS |
|
NC_FILTER_GET_OVERLAY_COUNT |
|
NC_FILTER_SCRAMBLE |
|
NC_FILTER_APPLY_MODALITY_LUT |
|
NC_FILTER_APPLY_LINEAR_MODALITY_LUT |
|
NC_FILTER_APPLY_VOILUT |
|
NC_FILTER_APPLY_LINEAR_VOILUT |
NC_DIALOG_OPEN |
|
NC_DIALOG_GAMMA_ADJUSTMENT |
|
NC_DIALOG_ADD_NOISE |
|
NC_DIALOG_EMBOSS |
|
NC_DIALOG_COLORRES |
|
NC_DIALOG_SAVE |
|
NC_DIALOG_WINDOWLEVEL |
|
NC_DIALOG_GETEFFECT |
|
NC_DIALOG_GETSHAPE |
|
NC_DIALOG_GETTEXT |
|
NC_DIALOG_GETGRADIENT |
|
NC_DIALOG_GETTRANSITION |
|
NC_DIALOG_HALFTONE |
|
NC_DIALOG_MOTION_BLUR |
|
NC_DIALOG_RADIAL_BLUR |
|
NC_DIALOG_ZOOM_BLUR |
|
NC_DIALOG_GAUSSIAN_BLUR |
|
NC_DIALOG_ANTI_ALIAS |
|
NC_DIALOG_AVERAGE |
|
NC_DIALOG_MEDIAN |
|
NC_DIALOG_MAX_FILTER |
|
NC_DIALOG_MIN_FILTER |
|
NC_DIALOG_SHARPEN |
|
NC_DIALOG_SHIFT_DIFFERENCE_FILTER |
|
NC_DIALOG_OILIFY |
|
NC_DIALOG_MOSAIC |
|
NC_DIALOG_EROSION_FILTER |
|
NC_DIALOG_DILATION_FILTER |
|
NC_DIALOG_CONTOUR_FILTER |
|
NC_DIALOG_GRADIENT_FILTER |
|
NC_DIALOG_LAPLACIAN_FILTER |
|
NC_DIALOG_SOBEL_FILTER |
|
NC_DIALOG_PREWITT_FILTER |
|
NC_DIALOG_LINE_SEGMENT_FILTER |
|
NC_DIALOG_UNSHARP_MASK |
|
NC_DIALOG_MULTIPLY |
|
NC_DIALOG_ADD_BITMAPS |
|
NC_DIALOG_STITCH |
|
NC_DIALOG_FREE_HAND_WAVE |
|
NC_DIALOG_WIND |
|
NC_DIALOG_POLAR |
|
NC_DIALOG_ZOOM_WAVE |
|
NC_DIALOG_RADIAL_WAVE |
|
NC_DIALOG_SWIRL |
|
NC_DIALOG_WAVE |
|
NC_DIALOG_WAVE_SHEAR |
|
NC_DIALOG_PUNCH |
|
NC_DIALOG_RIPPLE |
|
NC_DIALOG_BENDING |
|
NC_DIALOG_CYLINDRICAL |
|
NC_DIALOG_SPHERIZE |
|
NC_DIALOG_IMPRESSIONIST |
|
NC_DIALOG_PIXELATE |
|
NC_DIALOG_EDGE_DETECTOR |
|
NC_DIALOG_UNDERLAY |
|
NC_DIALOG_PICTURIZE |
|
NC_DIALOG_BALANCE_COLORS |
|
NC_DIALOG_COLORED_GRAY |
|
NC_DIALOG_GRAYSCALE |
|
NC_DIALOG_REMAP_INTENSITY |
|
NC_DIALOG_REMAP_HUE |
|
NC_DIALOG_CUSTOMIZE_PALETTE |
|
NC_DIALOG_LOCAL_HISTOEQUALIZE |
|
NC_DIALOG_INTENSITY_DETECT |
|
NC_DIALOG_SOLARIZE |
|
NC_DIALOG_POSTERIZE |
|
NC_DIALOG_BRIGHTNESS |
|
NC_DIALOG_CONTRAST |
|
NC_DIALOG_HUE |
|
NC_DIALOG_SATURATION |
|
NC_DIALOG_HISTOCONTRAST |
|
NC_DIALOG_COLOR |
|
|
|
NC_DIALOG_ROTATE |
|
NC_DIALOG_SHEAR |
|
NC_DIALOG_RESIZE |
|
NC_DIALOG_ADD_BORDER |
|
NC_DIALOG_ADD_FRAME |
|
NC_DIALOG_AUTO_TRIM |
|
NC_DIALOG_CANVAS_RESIZE |
|
NC_DIALOG_HISTOGRAM |
|
|
|
NC_DIALOG_GETDIRECTORY |
|
NC_DIALOG_FILE_CONVERSION |
|
NC_DIALOG_FILES_ASSOCIATION |
|
NC_DIALOG_PRINT_STITCHED_IMAGES |
|
NC_DIALOG_PRINT_PREVIEW |
|
NC_DIALOG_SMOOTH |
|
NC_DIALOG_LINE_REMOVE |
|
NC_DIALOG_BORDER_REMOVE |
|
NC_DIALOG_INVERTED_TEXT |
|
NC_DIALOG_DOT_REMOVE |
|
NC_DIALOG_HOLE_PUNCH_REMOVE |
|
NC_DIALOG_PNG_WEB_TUNER |
|
NC_DIALOG_GIF_WEB_TUNER |
|
NC_DIALOG_JPEG_WEB_TUNER |
|
NC_DIALOG_HTML_MAPPER |
Bitmap Changing Notification Categories:
The following is a list of all the notification categories:
Notification Category |
Description |
NCAT_RECTS |
Changing bitmap rectangles |
NCAT_BITMAP |
Changing the bitmap handle |
NCAT_FREE |
Freeing the bitmap |
NCAT_ACCESS |
Accessing/Releasing bitmap data |
NCAT_DIM |
Changing bitmap dimensions |
NCAT_EDIT |
Editing bitmap data |
NCAT_TRANSFORM |
Doing transformations on the bitmap, such as rotation, flipping, etc. |
NCAT_FILTER |
Using image processing filters on the bitmap |
NCAT_AUTOPROCESS |
Generated by dialogs when specifying the auto process flag |
NCAT_DITHERING |
Start/Stop and dithering bitmap data |
NCAT_REGION |
Setting/Freeing bitmap region |
NCAT_DIALOG |
Starting/Ending an imaging common dialog. The type of the dialog is defined by the NC_DIALOG constants |