我正在使用资源管理器以缩略图模式查看图像。 获取每个图像的缩略图(bmp,jpg)非常快。
我使用以下代码为每张图片生成缩略图。然而它比探索者要慢得多,我如何编写一部分代码来生成缩略图与系统一样快和准确(下面的代码生成的缩略图有时在顶部和底部,或左右两侧都有黑带,I不知道为什么......)。或者我可以使用其功能来调用资源管理器的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.....
}
答案 0 :(得分:1)
资源管理器可能正在使用Exif嵌入式jpg缩略图。
查看一个简单的Exif Image Viewer,确认您使用的图片包含嵌入的缩略图。
答案 1 :(得分:1)
对我来说,资源管理器生成的缩略图很慢。我自己的代码运行速度更快,可以生成缩略图。我遇到的问题是FindFirst / FindNext与Explorer相比较慢,因为它使用“文件对象”系统而不是“文件名”系统。我想找到快速代码来获取目录中的文件名。