ICImageCompress
The ICImageCompress function compresses an image to a given size. This function does not require initialization functions.
HANDLE ICImageCompress(
HIC hic,
UINT uiFlags,
LPBITMAPINFO lpbiIn,
LPVOID lpBits,
LPBITMAPINFO lpbiOut,
LONG lQuality,
LONG * plSize
);
Parameters
-
hic
-
Handle of a compressor opened with the ICOpen function. Specify NULL to have VCM select an appropriate compressor for the compression format. An application can have the user select the compressor by using the ICCompressorChoose function, which opens the selected compressor and returns a handle of the compressor in this parameter.
-
uiFlags
-
Reserved; must be zero.
-
lpbiIn
-
Address of the BITMAPINFO structure containing the input data format.
-
lpBits
-
Address of input data bits to compress. The data bits exclude header and format information.
-
lpbiOut
-
Address of the BITMAPINFO structure containing the compressed output format. Specify NULL to have the compressor use an appropriate format.
-
lQuality
-
Quality value used by the compressor. Values range from 0 to 10,000.
-
plSize
-
Maximum size desired for the compressed image. The compressor might not be able to compress the data to fit within this size. When the function returns, this parameter points to the size of the compressed image. Image sizes are specified in bytes.
Return Values
Returns a handle to a compressed DIB. The image data follows the format header.
Remarks
To obtain the format information from the LPBITMAPINFOHEADER structure, use the GlobalLock function to lock the data. Use the GlobalFree function to free the DIB when you are finished.
QuickInfo
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in vfw.h.
Import Library: Use vfw32.lib.
See Also
Video Compression Manager Overview, Video Compression Functions, ICOpen, ICCompressorChoose, BITMAPINFO, GlobalLock, GlobalFree