Image erzeugen in neuem Thread



  • hi,

    erstmal sry wegen dem ungenauen Titel, wollte da aber auch keinen Roman reinschreiben.

    Mein Problem:
    Wie erzeuge ich ein Image einer bestimmten größe in einer Klasse die von Thread abgeleitet wurde.

    Hier der Quelltext den ich biser habe:

    import java.awt.Color;
    import java.awt.*;
    
    public class Renderer extends Thread{
    
    	private Image offscreen;
    	private Graphics buffer;
    	private Dimension dim;
    	Toolkit tool;
    
    	Renderer(Dimension dimension){
    		dim = dimension;
    	}
    
    	public void run() {
    		while(true){
    			//render();
    			System.out.println("test");
    		}
    	}
    
    	private Image render(){
    		if (offscreen == null){
    			//Problem
    			offscreen = createImage(dim.width,dim.height);
    		}
    		buffer = offscreen.getGraphics();
    		buffer.clearRect(0,0,dim.width,dim.height);
    		buffer.setColor(Color.red);
    		buffer.drawRect(0,0,1,1);
    		buffer.drawRect(639,0,1,1);
    		buffer.drawRect(0,479,1,1);
    		buffer.drawRect(639,479,1,1);
    		return offscreen;
    	}
    
    	public Image getImage(){
    		if (offscreen == null){
    			render();
    		}
    		return offscreen;
    	}
    }
    

    durch was muss ich das createImage ersetzen damit mir das Image erstellt wird?
    Toolkit.createImage ist mir etwas unklar, wenn ich das benutzen muss würd mir ein Bsp und oder eine erklärung sehr helfen.

    P.S. über sinn und unsinn bin ich mir selbst noch nicht klar, aber jetzt hab ich den weg angefangen und will ihn auch zuende gehn ^^



  • Mit Toolkit.createImage erstellt man Image-Exemplare, die beispielsweise schon als Datei vorliegen.
    Du willst aber wohl eher so etwas machen:

    import java.awt.image.*;
    
    ...
    
    offscreen = new BufferedImage(dim.width,dim.height,BufferedImage.TYPE_INT_ARGB);
    


  • ja das wars,
    vielen dank


Anmelden zum Antworten