【发布时间】:2009-09-05 22:50:28
【问题描述】:
我正在使用资源管理器以缩略图模式查看图像。 获取每张图片的缩略图(bmp、jpg)真的很快。
我正在使用以下代码为每个图像生成缩略图。但是它比资源管理器慢得多,如何编写部分代码以像系统一样快速准确地生成缩略图(以下代码生成的缩略图有时在顶部和底部或左侧和右侧有黑带,我不知道为什么...)。或者我可以调用 explorer 的 API 来使用它的功能生成缩略图吗?
Bitmap sourceImg(xxx);
int nSize = sourceImg.GetPropertyItemSize(PropertyTagThumbnailData);
if(nSize > 0)
{
PropertyItem * pItem = (PropertyItem*)malloc(nSize);
if (pItem != NULL)
{
sourceImg.GetPropertyItem(PropertyTagThumbnailData, nSize, pItem);
}
GenerateThumbnail from pItem.....
}
【问题讨论】:
-
对于初学者来说,资源管理器可能有一个缩略图缓存,并且可能在您第一次加载目录时在工作线程或其他东西中生成缩略图。
-
我知道 thumb.db 在每个文件夹中存储图像缩略图,但是,如果我删除它,资源管理器会非常快地重新生成缩略图
标签: c++ image thumbnails explorer