<Return[I]><Top>

ICImageCompress

Declare Function Api_ICImageCompress& Lib "msvfw32" Alias "ICImageCompress" (ByVal hic&, ByVal uiFlags&, ByRef lpbiIn As BITMAPINFO, lpBits As Any, ByRef lpbiOut As BITMAPINFO, ByVal lQuality&, ByRef plSize&)

Declare Function ICImageCompress Lib "msvfw32" (ByVal hic As Long, ByVal uiFlags As Long, ByRef lpbiIn As BITMAPINFO, lpBits As Any, ByRef lpbiOut As BITMAPINFO, ByVal lQuality As Long, ByRef plSize As Long) As Long

イメージを指定されたサイズに圧縮する。この関数は初期化関数を必要としない。

パラメータ
hic
    ICOpen 関数で開いたコンプレッサ(圧縮処理)のハンドルを指定する。NULL を指定すると、VCM が圧縮形式に適したコンプレッサを選択

    する。アプリケーションでは、ユーザーは ICCompressorChoose 関数を使ってコンプレッサを選択することができる。ICCompressorChoose

    関数は、選択されたコンプレッサを開いて、このパラメータにコンプレッサのハンドルを返す。
uiFlags
    予約されている。0 を指定する。
lpbiIn
    入力データ形式が入った BITMAPINFO 構造体のアドレスを指定する。
lpBits
    圧縮する入力データビットのアドレスを指定する。データビットには、ヘッダーおよび形式情報は含まれない。
lpbiOut
    出力データ形式が入った BITMAPINFO 構造体のアドレスを指定する。NULL を指定すると、コンプレッサが適切な形式を使う。
lQuality
    コンプレッサが使う品質値を指定する。値の範囲は 0〜10,000 である。
plSize
    圧縮イメージに必要な最大サイズを指定する。コンプレッサはこのサイズ内でデータを圧縮できない場合がある。関数が戻ると、パラメータは

    圧縮されたイメージのサイズを示す。イメージサイズはバイト単位で指定する。

戻り値
    関数が成功すると、圧縮された DIB のハンドルが返る。イメージデータは形式ヘッダーの後に続く。

解説
    LPBITMAPINFOHEADER 構造体から形式情報を取得するには、GlobalLock 関数を使ってデータをロックする。作業が終了したら、

    GlobalFree 関数を使って DIB を解放する。