Sds getpreviewbmp
- 構文
- int sds_getpreviewbmp(const char *szFileName, void** pHBITMAP, unsigned long* pAllocatedBytes, short* bIsBitmap);
- 機能
- 指定された図面のプレビューイメージを返す。
- 引数
-
- *szFileName : ファイル名
- ** pHBITMAP : 取り戻されたイメージ
- *pAllocatedBytes : pHBITMAP で使用されているメモリ(使用後は開放しなければならない。)
- *bIsBitmap : プレビューイメージがビットマップかWindowsメタファイルかどうか。真=メタファイル
- 戻り値
- RTNORM(未確認)
- サンプル
short bIsBitmap;
void* hBitmap = NULL;
unsigned long pAllocatedBytes;
int ret = sds_getpreviewbmp(fname, &hBitmap, &pAllocatedBytes, &bIsBitmap);
if (ret && pAllocatedBytes)
{
If (bIsBitmap)
{
BITMAPINFOHEADER *pHeader = (BITMAPINFOHEADER *)hBitmap;
(CONST BITMAPINFO * )pHeader
}
else // meta file.
{
DWORD seekpos;<
DWORD dwIsAldus = *((DWORD*)hBitmap);
if (dwIsAldus != ALDUSKEY){
seekpos = 0;
}
else
{
seekpos = ALDUSMFHEADERSIZE;>
}
ALDUSMFHEADER* aldusMFHeader = (ALDUSMFHEADER*)hBitmap;
BYTE *p = (BYTE *)hBitmap;
METAHEADER* mfHeader = (METAHEADER*)( p + seekpos);
DWORD dwSize = mfHeader->mtSize * 2;
HENHMETAFILE m_emf = ::SetWinMetaFileBits(dwSize, (const BYTE*)mfHeader, NULL, NULL);
}
}
free(hBitmap);