以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于pictruebox获得图片问题.  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54031)

--  作者:sky-18
--  发布时间:2014/7/20 17:15:00
--  关于pictruebox获得图片问题.

picturebox获得图片的两个属性分别是pbx.image = getimage("文件路径")和pbx.imagefile = "文件路径"

在实际应用中发现当生成的picturebox稍微较多时会出现一些图片显示不出来,而且电脑占用内存急剧上升的情况.多点几下就死机了.

我的笔记本内存4G,应该够用.是不是imagefile属性不适合用来大量生成图片?如图:

 


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20140720170155.jpg
图片点击可在新窗口打开查看

还有就是,如果是通过网络获得图片能不能用pbx.image = getimage("文件路径")来获得图片呢?如果不能,岂不是一旦稍微多生成几个图片就不行啦

求老师们解答一下

[此贴子已经被作者于2014-7-20 17:16:41编辑过]

--  作者:有点甜
--  发布时间:2014/7/20 17:21:00
--  

 如果太多图片,请不要用pictureBox,直接用图片管理器来做。

 

 对于网络图片,如果文件较大,下载是需要时间,这个跟你的网速有关。

 

 用getImage,必须是本地图片,你可以先下载图片,再设置。


--  作者:sky-18
--  发布时间:2014/7/23 18:01:00
--  再问甜老师,狐狸爸爸

好像用图片浏览器无法满足我的功能.我要求显示所有符合条件的行的图片(而图片浏览器好像是属于一种列窗口,只能绑定在某列,而且一次只能显示某行的图片),所以我选择了用picturebox来自己设计想要的显示效果.如下图是我要的效果:

 


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20140723173903.jpg
图片点击可在新窗口打开查看

但我的图片库不一定在本机,所以必须用imagefile来为picturebox调用图片(如甜老师所说,iamge属性只能针对本地图片).但用imagefile属性带来的问题就如前面所说,会出现图片显示不了,花屏,电脑内存耗尽,项目卡死等问题,如下图:

 


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20140723173815.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20140723173836.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20140723174018.jpg
图片点击可在新窗口打开查看

所以,我觉得要实现我的这个功能只能用picturebox,而给其赋予联网图片又只能用imagefile.

那么有几点想问甜老师:1.出现的图片无法显示,耗尽内存等问题是不是imagefile属性引起的.

                             2.如果第一条成立,那么我在生成图片前将联网图片下载到本地然后用iamge属性获取图片是否不会出现耗内存等问题.


--  作者:有点甜
--  发布时间:2014/7/23 18:06:00
--  

 内存耗尽,跟你显示的图片的大小以及多少有关,比如每张10M,100张,就直接卡死了。

 

 如果是远程图片的话,还会由于下载速度的原因卡死。

[此贴子已经被作者于2014-7-23 18:06:07编辑过]

--  作者:sky-18
--  发布时间:2014/7/23 18:13:00
--  
内存耗尽跟图片多少有关这个我也这样想.单图片显示不出来是怎么回事呢?而且是先生成的图片不显示,后生成的到显示出来了.还有滚动图片时出现花屏的问题.这是和我代码编的不好有关呢,还是与其他的有关呢?
--  作者:sky-18
--  发布时间:2014/7/23 18:16:00
--  
而且在图片显示并不多而且内存并不紧张的时候还会出现项目卡死的现象.而且我用的还是本地图片
--  作者:sky-18
--  发布时间:2014/7/23 18:19:00
--  
刚查了一下,貌似显示不出来的图片要稍微大一点,200K左右.但我觉得这样的图片应该不算大吧.
--  作者:有点甜
--  发布时间:2014/7/23 19:19:00
--  
以下是引用sky-18在2014-7-23 18:19:00的发言:
刚查了一下,貌似显示不出来的图片要稍微大一点,200K左右.但我觉得这样的图片应该不算大吧.

 

用代码,先把文件下载下来,然后用getImage设置给pictureBox