我正在尝试创建一个加载 52 张卡片的小程序,将它们洗牌(使用随机数生成器),然后以两排五张的形式显示牌组的前 10 张卡片。我有包含 52 张卡片图像的 HTML 文件,但是有没有一种方法可以加载图像而无需加载每个单独的图像。以及如何从网络加载图像?
问问题
615 次
2 回答
2
..有没有办法加载图像而不必加载每个单独的图像
将它们放在一个巨大的图像中,并在运行时对其进行切片。这个答案中有一个例子。
在 Google 图片中搜索“playing+card”,很可能在点击的第一页中会有 2 个或更多的图块集。
但是,更快的是加载:
- 卡片背景
Image
或Shape
每个花色符号Image
或Font
为字母和数字。
然后在启动时将它们组合起来,形成 52 张卡片中的每一张。
显然,卡片还需要一个共同的“反面”。
你如何从网上加载图像?
通过网址。
一些替代方案:
Applet.getImage(URL)
Toolkit.getImage(URL)
- 或用于同步加载的
BufferedImage
使用ImageIO.read(URL)
前两种方法是异步的并且需要一个ImageObserver
.
考虑将其作为使用Java Web Start 启动的应用程序来执行。如果您继续使用小程序,请浏览小程序信息中的链接。页。
于 2012-09-30T22:44:42.837 回答
0
尝试这个。
Image[] cards = new Image[52]
private void loadImages(){
for (int i=0; i<cards.length; i++){
URL imgUrl = getClass().getResource("image"+(i+1));
cards[i] = getImage(imgUrl);
}
}
希望这可以帮助
于 2012-09-30T23:55:26.683 回答