HistDIBModify  Method

Description         This method compresses the dynamic range of pixel values. The result is put to a newly created DIB and the source DIB is unmodified. It works with 4, 8 or 24 bits/pixel. In case of 24 bits/pixel, the operation is made separately on the R, G, B channels. In case of 4 or 8 bits/pixel, the source DIB must contain grayscale image and the palette values in the source DIB must be monotone increasing. It makes no sense to use this function in case of 1 bits/pixel.

Syntax                 lRet = [BIFilter.]HistDIBModify  Dib iShowProgress hWnd

Remarks             lRet                         LONGLONG Handle of the newly created DIB on success or 0 on failure.

                            Dib                          LONGLONG Source DIB.

                            iShowProgress       short                This parameter specifies the displaying of the progressbar and the preview dialog.

Available values:

DISPLAY_NONE (0) - The progressbar and the preview dialog will not display before the conversion.

DISPLAY_PROGRESS (1) - The progressbar will display during the  procedure.

DISPLAY_DIALOG (2) - The preview dialog will display before conversion. This dialog shows the part of the image before and after removing red eye.

DISPLAY_BOTH (3) - The progressbar and the preview dialog will display.

IMPORTANT: The preview dialog will only display, if there is BIDlgs32.dll installed.           

                            hWnd                     LONGLONG Handler of the parent window.

This method performs the following intensity transformation to compress the dynamic range of pixel values:  ResPix = F * log (SrcPix + 1) where  ResPix is the result pixel value, SrcPix is the source pixel value and F is a scaling factor. F = 1 / log(256) if the image resolution is 8 bits/pixel or 24 bits/pixel. In case of 4 bits/pixel F = 1 / log(16).

See Also