Avatar billede fredand Forsker
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
Avatar billede fredand Forsker
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);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester