Bilder mit SWT zeichnen

totix800

Grünschnabel
Hi,

ich bin momentan daran ein kleines Programm, dass mit Swing arbeitet auf SWT umzustellen, da die Umgebung in der es laufen soll kein Swing und AWT unterstützt.
Dabei ist meine erste Hürde, das Zeichnen eines Bildes, dass ich per Image lade auf ein bereits bestehendes Fenster zu zeichnen.
Ich habe mir dabei bereits das API durchgelesen, hab das ganz aber noch nich zum Laufen gebracht.
Momentan besorge ich mir das Bild mit:
Image image = new Image(CurrentDevice, "./edge.jpg");
dabei is mir aber noch nich klar, was das Device für eine Rolle spielt.
Mehr als das ich dabei mit GC und dann gc.drawImage(); arbeiten muss weiss ich leider nicht und würde mich freuen wenn mir jemand erklären konnte wie ich das ganze mache.

Gruß toti
 
Update: Ich hab es jetzt geschafft ein Bild zu zeichnen. Dafür hab ich folgenden Code benutzt

public void paintControl(PaintEvent evt) {
evt.gc.drawLine(0,0,5,5);
Image image = new Image(getDisplay(),"./edge.jpg");
evt.gc.drawImage(image,5,5);
}


Jetzt ist es aber so, dass ich in einer anderen Klasse gerne das Bild verarbeiten würde, darauf zeichne und dass dan zum Zeichnen weiter gebe. Wie könnte ich das realisieren?

Gruß toti
 
Du erstellt dir ein neues Bild
Java:
Image img = new Image(Display.getDefault(),imageData);
GC gc = new GC(img);
gc.draw...... //mit dem GC malen
gc.dispose();/nicht vergessen
//Bild benutzen
img.dispose();

Halt mit dem GC auf das Bild zeichnen und diesen dann wieder schliessen wenn das Bild fertig ist. Das Bild auch unbedingt disposen wenn dus nicht mehr brauchst, denn Speicherlecks sind nicht wirklich schön.
 
Danke für die Antwort, das funktioniert.
Momenta hab ich das zeichnen in nem PaintListener drin, dabei wird halt aber immernur bei ner Veränderung auf das GUI gezeichnet.

Ich müsste jetzt irgendwie wissen, wie ich das Image auf das GUI zeichne. Was muss ich denn dazu mit drawImage machen?

Gruß toti
 
Verstehe dein Problem nicht. Poste doch noch einmal ein wenig Code, möglichst Standalone ausführbar.
 
Kann man img1 (Image) mit img2 (Image) kombinieren ? VisualC bietet mehre Modi dazu. Soll ich in Java das bitweises Vergleich in img3 "manuell" integrieren?
 
Zurück