如果一张图片很长,如何读取中间一段图片的缩略图。请教各位高手

时间:2021-03-16 20:33:02
如果一张图片很长已经超过了电脑屏幕,我现在就想读取中间一段图片的缩略图。
请教各位高手。
我知道获取整张图片的缩略图是GetThumbnailImage这个函数,就是不知道获取局部图片的缩略图的函数。
开始考虑的是把图片都读入内存在处理那会很麻烦,消耗太多资源,GetThumbnailImage这个函数好像就
没有把所有的图片读入内存。图片的格式是jpg的。先谢谢大家了

9 个解决方案

#1


帮lz顶下

#2


获取的部分显示在屏幕上,可以使用 BitBlt 拷贝屏幕任何区域。

#3


确定你感兴趣的部分的左上角坐标,及大小
创建的显示缩略图的hDC(子窗口吧)
使用StretchBlt将感兴趣部分传输到hDC即可

#4


先将整图缓存,然后transparentblt

#5


缩略图机制是Windows自带的,每个有图片的文件夹下会有一个Thumbs.db文件,他就是提供缩略图的文件。
如果你只要某张图的某一部分,你只能先全部读取它,然后再处理了。

或者,如果你对JPG格式有深入了解,你可以只读取文件的某一部分(根据你想要的图片的那个位置对应的文件偏移来计算要读取的位置和尺寸),但是那样很费劲。

#6


还有没有高手指点下?

#7


我建议楼主使用GDAL库进行读取 很方便的

#8


使用GetThumbnailImage的时候图片的高,宽设置大一点,画的时候只显示你需要的区域或者只保持你要的区域

#9


**********
**######**
**######**
**********

#1


帮lz顶下

#2


获取的部分显示在屏幕上,可以使用 BitBlt 拷贝屏幕任何区域。

#3


确定你感兴趣的部分的左上角坐标,及大小
创建的显示缩略图的hDC(子窗口吧)
使用StretchBlt将感兴趣部分传输到hDC即可

#4


先将整图缓存,然后transparentblt

#5


缩略图机制是Windows自带的,每个有图片的文件夹下会有一个Thumbs.db文件,他就是提供缩略图的文件。
如果你只要某张图的某一部分,你只能先全部读取它,然后再处理了。

或者,如果你对JPG格式有深入了解,你可以只读取文件的某一部分(根据你想要的图片的那个位置对应的文件偏移来计算要读取的位置和尺寸),但是那样很费劲。

#6


还有没有高手指点下?

#7


我建议楼主使用GDAL库进行读取 很方便的

#8


使用GetThumbnailImage的时候图片的高,宽设置大一点,画的时候只显示你需要的区域或者只保持你要的区域

#9


**********
**######**
**######**
**********