Hur visar jag en BufferedImage i min JFrame? Om jf är en JFrame kan man ju inte skriva jf.add(minBufferedImage);, hur konverterar man den till en image?
BufferedImage
5 svar · 174 visningar · startad av pettsson
Image är BufferedImage super klass så en BufferedImage är en Image :)
Du kan altså rita upp en bild t.ex. såhär
BufferedImage bi=new BufferedImage();
JFrame frame=new JFrame();
frame.getGraphics().drawImage(bi,10,10,null);
/Viktor
Får en null pointer exception. Varför? Måste man fylla i bilden innan man ritar den?
Det ska man inte behöva göra, här är ett test program som jag har gjort som ritar en gul linje över bilden. Jag har även provat utan att rita något och det fungerar lika bra,
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
public class BI extends JFrame
{
public static void main(String argv[])
{
new BI();
}
public BI()
{
setSize(200,200);
show();
setDefaultCloseOperation(EXIT_ON_CLOSE);
BufferedImage bi=new BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);
Graphics g=bi.getGraphics();
g.setColor(Color.YELLOW);
g.drawLine(20,20,100,100);
this.getGraphics().drawImage(bi,0,0,Color.BLUE,null);
}
}
/Viktor
Programmet jag håller på med ska rita upp en fraktal är det tänkt, vilket betyder många uträkningar. Därför tänkte jag att man plottar ut en pixel så fort den är beräknad, men det funkar inte... Även efter det att programmet är klart med räknandet är fönstret tomt :(
Har fixat till det nu, utan bufferedimage, men tack ändå :)