陈 陈东海 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-06 #1 如何实现大批量图像的显示,且占用内存数量不会随着图像数量的增加而增大。
陈 陈东海 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-06 #5 Free掉后如果由于某种原因画布需要重画,图像将无法正确显示 如再从磁盘LOAD,将导致程序效率下降,请问各位大侠如何应对。
陈 陈东海 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-11 #6 为何无回应,是分数太少吗,如能解决,还有额外分数。请大侠现身!
O only you Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-11 #7 可在一个画布上分割小钜形,随着图形的增多分割的矩形也越多.这样虽然图象增多了但由于 画布的大小不变,所以内存不会增加多少.
L lsyx Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-12 #9 ACDSee显示大量图像时会增加内存,但不会一直增加 产生缩略图,将缩略图和一部分图象保存到内存,若太多 你只需要保存要显示的就行了(屏幕上要么显示一些缩略图,要么显示一张图片,对吧?) 若看的图像不在内存中再从磁盘LOAD
ACDSee显示大量图像时会增加内存,但不会一直增加 产生缩略图,将缩略图和一部分图象保存到内存,若太多 你只需要保存要显示的就行了(屏幕上要么显示一些缩略图,要么显示一张图片,对吧?) 若看的图像不在内存中再从磁盘LOAD
Y yisp Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-16 #10 到Delphi深度历险(Vcl.vclxx.com) 去找ThumbLib的控件吧! 做得很不错的..如果要的话..我(yishaoping@citiz.net)可以发给你! 大概80K左右
陈 陈东海 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-23 #11 HI,yisp 我有Thumb控件包,V1.2版,包含Thumbimage Thumbnail ThumbView 三个控件,图像 多了之后还是非常占用资源,89.2K,我想可能是因为继承了Timage控件的缘故吧, 不知是不是你所说的ThumbLib控件,如果ThumbLib无此问题(随图像增多占用系统 资源也随之增大),请发一份给我,谢谢。^^cdhzl@sina.com
HI,yisp 我有Thumb控件包,V1.2版,包含Thumbimage Thumbnail ThumbView 三个控件,图像 多了之后还是非常占用资源,89.2K,我想可能是因为继承了Timage控件的缘故吧, 不知是不是你所说的ThumbLib控件,如果ThumbLib无此问题(随图像增多占用系统 资源也随之增大),请发一份给我,谢谢。^^cdhzl@sina.com
O only you Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-28 #13 比如:你预先创建一个1024*768大小的IMAGE,然后根据要显示的图象数目,平均分割成 大小一样的矩形,在每个矩形里绘制图象。当然要根据图象的多少做适当的调整。不要使 分割的图象太小,可以设定一个上限,超过了则另生成一个IMAGE显示。在每一个矩形里 绘图可用bitblt函数。
比如:你预先创建一个1024*768大小的IMAGE,然后根据要显示的图象数目,平均分割成 大小一样的矩形,在每个矩形里绘制图象。当然要根据图象的多少做适当的调整。不要使 分割的图象太小,可以设定一个上限,超过了则另生成一个IMAGE显示。在每一个矩形里 绘图可用bitblt函数。
陈 陈东海 Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-25 #14 lsyx,only you 的发言对我很有启发, 但尚未完全考虑清楚, 譬如:你的视窗大小为1024*768,但是如有10000幅图片, 需要1024*1200才能放下, 当滚动条下拉时,有一部分图片不在你的image中, 你是否在创建一个image呢? 请大家继续发言!!!
lsyx,only you 的发言对我很有启发, 但尚未完全考虑清楚, 譬如:你的视窗大小为1024*768,但是如有10000幅图片, 需要1024*1200才能放下, 当滚动条下拉时,有一部分图片不在你的image中, 你是否在创建一个image呢? 请大家继续发言!!!
吕 吕雪松 Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-26 #15 拇指缩略图显示方式是先读一张Bmp/gif/jpe到内存(1)中 --> 按缩略方式画在内存DC(2)中 (占不了多少空间) --> 清除(1) -->读第二张 …… -->窗口更新时重绘(2)。 实际的算法要复杂一些,他有一个“前进”(我自己这样叫)算法:比如先读一到十张,分别 画到(2)上,然后保存整个时间周期;如果周期太长,则减办,反之加倍(象不象TCP的流量 控制?) 微软有一个世界地图软件,显示的是栅格世界地形图(就是位图),幅面非常大,但是他可以 实现几乎无缝的平移!事实上他是不可能将整个图形都读进内存的,后来我发现在我做大范围 平移是窗口边界还是有重绘痕迹,因此推断出了上述算法。 可能讲得有点不清楚,感兴趣的话发邮件给我。
拇指缩略图显示方式是先读一张Bmp/gif/jpe到内存(1)中 --> 按缩略方式画在内存DC(2)中 (占不了多少空间) --> 清除(1) -->读第二张 …… -->窗口更新时重绘(2)。 实际的算法要复杂一些,他有一个“前进”(我自己这样叫)算法:比如先读一到十张,分别 画到(2)上,然后保存整个时间周期;如果周期太长,则减办,反之加倍(象不象TCP的流量 控制?) 微软有一个世界地图软件,显示的是栅格世界地形图(就是位图),幅面非常大,但是他可以 实现几乎无缝的平移!事实上他是不可能将整个图形都读进内存的,后来我发现在我做大范围 平移是窗口边界还是有重绘痕迹,因此推断出了上述算法。 可能讲得有点不清楚,感兴趣的话发邮件给我。
J jchuan Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-30 #17 ACDSee之所以快速,其实是把已经看过的图的所略图都保存了一份. 你可以在硬盘里找Imagedb.dtf,一定是一个比较大的文件,而且随着你浏览图像数目的增加而 增大.
刘 刘郎 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-06 #20 我用vc实现了缩略图, 使用微软的listctrl控件,不需要自己绘制 用同样的方法,delphi实现肯定也没有问题, 所有缩略图的生成方式我都尝试了,这一种是最简单的