2010-09-21 68 views
1

您好我有一个应用程序可以垂直地加载画布中文件夹的所有图像。像缩略图一样。这些文件夹通常有超过20个图像,大约1mb有时甚至是2.我创建了一个名为Index的类,它扩展了画布。在画布上加载缩略图需要很长的时间,swt

我设法加载所有的图像,并将它们调整到合适的尺寸(原始尺寸大约是1280x1985,是的,他们退出的时间很长,但这需要很长时间,我想我知道为什么,但我不知道如何修复它还是做的更好。

public void loadImages(){ 
     System.out.println("Loading Images"); 
     List<String> imageList = new ArrayList<String>(); 
     imageList = listDirImages(this.strDir); 
     int listSize=imageList.size(); 
     for(int i=0;i<listSize;i++){ 
      System.out.println(imageList.get(i)); 
      Image sourceImage; 
      System.out.println(strDir.concat("/".concat(imageList.get(i)))); 
      try { 
       sourceImage = new Image(getDisplay(),strDir.concat("/".concat(imageList.get(i)))); 
       //sourceImage[i] = new Image(getDisplay(),strDir.concat("/".concat(lsImagenes.get(i)))); 
      }catch(Exception e){ 
       System.out.println(e); 
       //band=1; 
      } 
     } 
    } 

此功能使用的目录,然后调用一个函数,列出所有的图片。它列出的所有图像。 原始代码是不同的,但我想消灭码看看它在哪里花了这么长时间,原始sourceImage是一组图像(我不知道这是否更好),并且我调整了创建新图像的大小,但创建它们需要更长的时间。

有25个图像需要将近45秒才能加载这部分,我知道问题是我正在加载完整图像,而且它们很重。有没有办法将它们直接加载到缩略图? 某些文件夹大约有80页,就像2分钟。 (对于一部分,我认为我必须将它作为线程,因此整个程序可以在加载索引时运行其他内容。

回答

-1

您需要在服务器上预先构建缩略图,并使用javascript加载它们即使有一种方法可以直接在缩略图中加载图片,客户端仍然会下载全尺寸的图片来创建缩略图,这对网络带宽并不是好的。

+0

这不是JavaScript,它甚至不是网络应用程序或客户端服务器应用程序,它是我的机器上的本地程序。 – 2010-09-22 09:20:24

相关问题