13. august 2001 - 12:16
Der er
1 løsning
BufferedImage in Java 3D
Hello! I\'m trying to set an background image in an 3d applet with: BufferedImage bufferedImage; ImageComponent2D imageComponent2D; public Test3dWorld(SimpleUniverse simpleUniverse, Test3dKeyNavApplet test3dKeyNavApplet) { bufferedImage = (BufferedImage) test3dKeyNavApplet.getImage(test3dKeyNavApplet.getCodeBase(), \"the_img.gif\"); imageComponent2D = new ImageComponent2D(ImageComponent.FORMAT_RGBA, bufferedImage); //Background background = new Background(new Color3f(Color.white)); Background background = new Background(imageComponent2D); etc. But I only get this message: java.lang.ClassCastException: sun.awt.windows.WImage Does any one know how to do this? Best regards Fredrik
Annonceindlæg fra Pax8
13. august 2001 - 16:51
#1
This did the trick: Image image = null; image = test3dKeyNavApplet.getImage(test3dKeyNavApplet.getCodeBase(), \"img.gif\"); MediaTracker mediaTracker = new MediaTracker(test3dKeyNavApplet); mediaTracker.addImage(image, 0); mediaTracker.checkAll(true); try { mediaTracker.waitForID(0); } catch (InterruptedException ie) { ie.printStackTrace(); } bufferedImage = new BufferedImage(128, 128, BufferedImage.TYPE_INT_ARGB); int[] imagefield = ((DataBufferInt) bufferedImage.getRaster().getDataBuffer()).getData(); PixelGrabber pg = new PixelGrabber(image, 0, 0, 128, 128, imagefield, 0, 128); try { pg.grabPixels(); } catch (InterruptedException e) { e.printStackTrace(); } imageComponent2D = new ImageComponent2D(ImageComponent.FORMAT_RGBA, bufferedImage); Background background = new Background(imageComponent2D);