本帖最后由 leven50 于 2025-2-10 11:40 编辑
不太清楚您具体的应用场景,如果只是想知道零件或子装的样子,您是否尝试过缩略图机制?
- HBITMAP GetThumbnailEx(CString & path)
- {
- HRESULT hr = CoInitialize(nullptr);
- // Get the thumbnail
- IShellItem* item = nullptr;
- hr = SHCreateItemFromParsingName(path, nullptr, IID_PPV_ARGS(&item));
- IThumbnailCache* cache = nullptr;
- hr = CoCreateInstance(CLSID_LocalThumbnailCache,nullptr,CLSCTX_INPROC,IID_PPV_ARGS(&cache));
- ISharedBitmap* shared_bitmap;
- hr = cache->GetThumbnail(item,48 * 64,WTS_EXTRACT,&shared_bitmap,nullptr,nullptr);
- // Retrieve thumbnail HBITMAP
- HBITMAP hbitmap = NULL;
- hr = shared_bitmap->GetSharedBitmap(&hbitmap);
- CoUninitialize();
- return hbitmap;
- }
复制代码 像这样提到Bitmap后,您可以对Bitmap再次保存?
另外,天工CAD有预览的com组件可以集成到您的应用中做到对组件进行预览。
|