【发布时间】:2013-12-08 20:26:06
【问题描述】:
必须有一些更有效的方法来设置图像不是吗?或者这已经是最好的了?
public Image setImage(String img){
ImageIcon imageIcon = new ImageIcon(setURL("Images/" + img));
Image image;
image = imageIcon.getImage();
//imgWidthTemp = image.getWidth(null);
//imgHeightTemp = image.getHeight(null);
return image;
}
public URL setURL(String url){
String Url = url;
try{
URL imgURL = getClass().getClassLoader().getResource(url);
if(imgURL != null){
return imgURL;
}
}catch(NullPointerException e){}
return null;
}
我真的不需要setURL() 方法,它只是让事情变得更清洁、更容易处理。我只想知道是否有更有效的方法来设置自定义图像。即使没有这两种方法,仍然需要编写很多代码。它变得更简单了吗?我的意思是为什么我们不能只制作一个新图像,而不是先制作一个ImageIcon,然后说Image myImage = ImageIcon.getImage()。没有抱怨,但是如果你有 2000 多个图像要设置,那将是很多没有一两个方法的代码(以我的世界为例吧?如果我自己这么说的话,那就是相当多的图像)。电子游戏大多只有大量图像,而不是代码有时只占代码的 30%。
【问题讨论】:
-
您进行了基准测试吗?你知道这段代码是你应用程序的瓶颈吗?
-
你的问题没有多大意义。您提供的代码不是“设置图像”。它正在加载图像。并且在(命名错误!)
setUrl方法中对 null 的处理很奇怪。 -
现在说什么?我不明白基准测试或“我的应用程序中的瓶颈”是什么意思。请澄清。
-
阅读:en.wikipedia.org/wiki/Benchmarking。还有这个en.wikipedia.org/wiki/Profiling_%28computer_programming%29。关键是,在您测量代码的实际性能之前,最好不要想办法让它运行得更快。
-
@StephenC 我知道它没有设置图像,它只是加载图像,所以让我改写一下:有没有更有效的方法来加载图像然后设置它?它实际上兼作加载器和设置器,目的是让我像这样使用它:
Image Head = setImage("Head_model_01.png");
标签: java image performance processing-efficiency memory-efficient