Hi,
I am calling the repaint method from a method "PrintImage". I have used the piece of code in "http://www.j3d.org/faq/capturing.html". I tried setting the Canvas background color and also tried to get Graphics2D from the BufferedImage and set the color etc, but still the background remains black. PrintImage() { myCanvas.repaint() } RenderCanvas extends Canvas3D { postSwap() { GraphicsContext3D ctx = getGraphicsContext3D(); Rectangle rect = getBounds() ; Raster ras = new Raster(new Point3f(-1.0f,-1.0f,-1.0f), Raster.RASTER_COLOR, 0, 0, rect.width, rect.height, new ImageComponent2D(ImageComponent.FORMAT_RGB, new BufferedImage(rect.width, rect.height, BufferedImage.TYPE_INT_RGB)), null); BufferedImage img = ras.getImage().getImage(); try { FileOutputStream out = new FileOutputStream("images/Capture"+postSwapCount_+".jpg"); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(img); param.setQuality(0.9f, false); encoder.setJPEGEncodeParam(param); encoder.encode(img); writeJPEG = false; out.close(); } catch (IOException e) { } } } Shouldn't i be setting the background color of the Canvas3D before calling the repaint method or can we swap the colors in the BufferedImage? Thanks Raghav David Bourgais wrote: > Hi ! > > To change your background color, you sohould use this : > > float coul1, coul2, coul3; /*In french, coul for couleur (couleur = > color in perfect english)*/ > Background bg = new Background(coul1, coul2, coul3); > bg.setCapability(bg.ALLOW_COLOR_READ); > bg.setCapability(bg.ALLOW_COLOR_WRITE); > bg.setApplicationBounds(/*your BoundingSphere*/); > YourScene.addChild(bg); > //Changing the background color > float a, b, c; > bg.setColor(a,b,c); > > I hope that it will help you. > > David Bourgais > > =========================================================================== > > To unsubscribe, send email to [EMAIL PROTECTED] and include in the > body > of the message "signoff JAVA3D-INTEREST". For general help, send > email to > [EMAIL PROTECTED] and include in the body of the message "help". > > =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
