webForumDet fria alternativet

BufferedImage

5 svar · 174 visningar · startad av pettsson

pettssonMedlem sedan jan. 2002777 inlägg
#1

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?

ViktorMedlem sedan aug. 20021 710 inlägg
#2

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

pettssonMedlem sedan jan. 2002777 inlägg
#3

Får en null pointer exception. Varför? Måste man fylla i bilden innan man ritar den?

ViktorMedlem sedan aug. 20021 710 inlägg
#4

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

pettssonMedlem sedan jan. 2002777 inlägg
#5

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 :(

pettssonMedlem sedan jan. 2002777 inlägg
#6

Har fixat till det nu, utan bufferedimage, men tack ändå :)

Genererad på 414 ms · cache AV · v20260730165559-full.f96bc7eb