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);