关于显示缩略图的问题

benbenfei 2001-07-27 04:05:00
要像ACDSee那样显示一个目录下的所有图片的缩略图,用TImage的延展功能,太占内存,按比例取像素太慢。请问用什么方法显示缩略图最快,又不占过多的内存资源?谢谢回复
...全文
82 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
benbenfei 2001-07-27
  • 打赏
  • 举报
回复
谢谢ddeng(登登)的回复,还请问你,用StretchDraw方法画的时候在内存中保存的是缩小后的图片还是原来的大图片?如果将TImage的Stretch属性设为True,好像显示的是小图片,但是在内存中保存的仍然是原来的大图片!
sundayboys 2001-07-27
  • 打赏
  • 举报
回复
呵呵,关注。
ddeng 2001-07-27
  • 打赏
  • 举报
回复
如果全部用TImage的确很占内存
1、可以考虑每个图片文件分配一个TBitmap,设置固定大小,然后调出图片利用StretchDraw画到TBitmap上,再绘制要显示的图片缩略图到窗口显示区;
2、或者可以只分配一个TBitmap,将所有缩略图绘制到此TBitmap,再根据所需要显示从此TBitmap中取出其相应图块;
或者更节省内存的方法就是动态取图片画到窗口相应位置,这样只那些要显示的文件被读取和绘制,不过速度的确不快;
顺便说一下,有图片管理控件可以导入BCB直接使用。
再顺便说一下,读取jpeg图片时,TJPEGImage的Scale属性很有用。
outer2000 2001-07-27
  • 打赏
  • 举报
回复
gz

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧