Ik ben bezig met het schrijven van een (swing) applicatie in Java en wil daarbij
images laten zien.
Nu is dat opzich niet zo'n probleem, maar hij laat maar 1 plaatje zien, elk ander
plaatje wat ik wil laten zien, komt niet in beeld.
Ik gebruik nu gif files, maar wil ook bmp, jpg e.d. kunnen gebruiken.
Onderstaande code laat zien hoe ik de images laad.
Let niet op de code, want dit is gewoon om zaken te testen, zeg maar een Proof of Concept.
Overigens valt het me op dat de files logo.gif & gras3.gif een bit-diepte heeft van 5; maar sommige andere files hebben 4 of 8.
Weet iemand of het hier iets mee te maken kan hebben?
Kortom, waarom laat hij logo.gif wel zien en gras3.gif (o.a.) niet?
images laten zien.
Nu is dat opzich niet zo'n probleem, maar hij laat maar 1 plaatje zien, elk ander
plaatje wat ik wil laten zien, komt niet in beeld.
Ik gebruik nu gif files, maar wil ook bmp, jpg e.d. kunnen gebruiken.
Onderstaande code laat zien hoe ik de images laad.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| public class SpeelBord extends JFrame { Image img, img2, img3; public SpeelBord() { // img = Toolkit.getDefaultToolkit().getImage("\\logo.gif"); img = Toolkit.getDefaultToolkit().getImage("\\gras3.gif"); } public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; //use anti-aliasing if possible g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // g2d.drawImage(img, 0, 0, this); int TileWidth = img.getWidth(this); int TileHeight = img.getHeight(this); int NumberX = (int)(this.getSize().width / TileWidth); int NumberY = (int)(this.getSize().height / TileHeight); Image Buffer = createImage(NumberX * TileWidth, NumberY * TileHeight); Graphics GBuffer = Buffer.getGraphics(); for (int i = 0; i <= NumberY; i++) { for (int j = 0; j <= NumberX; j++) GBuffer.drawImage(img, j*TileWidth, i*TileHeight, TileWidth, TileHeight, this); } g2d.drawImage(Buffer, 0, 0, this); } |
Let niet op de code, want dit is gewoon om zaken te testen, zeg maar een Proof of Concept.
Overigens valt het me op dat de files logo.gif & gras3.gif een bit-diepte heeft van 5; maar sommige andere files hebben 4 of 8.
Weet iemand of het hier iets mee te maken kan hebben?
Kortom, waarom laat hij logo.gif wel zien en gras3.gif (o.a.) niet?