谢谢各位帮忙,还有一问,不知道这种方案可行不。(100分)

  • 主题发起人 主题发起人 编程傻子
  • 开始时间 开始时间

编程傻子

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序要用到很多图片,100张,每张40-50K,一开始我打算把图片存到数据库里,.db or
sql server里。 
还有就是用.dll文件,把图片存入.dll文件。 哪种方法好。

存入.db文件我试过了。调用的时候占用内存大多,不是图片本身的问题,可能是要调其它驱动程序。
用sql server 存图片, 网络环境下就会有大量的阻塞。

所以我打算用.dll文件, 可行不。 
 
存入DLL文件中?
呵呵,
我没试过呢,
关注一下吧
 
我倒是建议你在数据库里保存你图片的路径,然后在使用的时候再调图片就可以了。
速度很快,而且在内存使用方面应该会好很多的。
 
那样,用户就可以改变这个图片呀,不安全。
 
我想应该把图片文件的路径(url)放在数据库里,注意应该是相对的。这样好
一些.
 
楼上说得有道理,我也想过呀
但是这个模块查询得非常频繁, 想在本机执行,不把图片放在服务器上,
放在服务器上,网络上要传图片
不是有点慢吗?
 
你是什么图啊,一般多大。我想如果是局域网一般没什么问题.
 
.jpg, 每个40-50K大小。
刚才沙隆巴斯的主人说:
来自:沙隆巴斯的主人, 时间:2002-12-6 14:51:00, ID:1491251

“Call Create to instantiate a TResourceStream, passing in parameters that identify
the resource in a specified instance. TResourceStream finds the resource data and
loads it into the Memory buffer for the TResourceStream”
里看来是只LOAD了你指定的资源,所以应该是只需要一张所占的内存

如果是只调我需要的一张图片的话,我就采用.dll文件调用。应该没什么问题吧
 
呵呵,你的图片不给用户看的吗?
当然,如果要存到dll中,应该可以,不过你以后如果要加入或更改呢?
而且,放在dll中也要耗用很多内存啊!
 
LMD的LMDImageList非常合适这个工作。
 
根据现在的测试,100张图片总共有4M大小,调用.dll时 ,他只读一张图片,而且只占300-400K内存。(并不是将所有的都读出来)
并不是将4M,的图象全都调入内存。
所以我想这个问题解决了。



 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部