Auswahlwerkzeug wie bei Bildbearbeitungsprogrammen

Status
Nicht offen für weitere Antworten.

JavaStarter

Mitglied
hallo liebe mitglieder,

wie ihr an meinem namen unschwer erkennen könnt gehöre ich zu den anfängern und benötige eure hilfe.

ich möchte für ein adress verwaltungsprogramm eine funktion zum einbinden von bildern, der jeweiligen personen implementieren.

da nicht jeder user das entsprechende bild in geigneter größe hat möchte ich also eine kleine bildverarbeitungsfunktionn haben, mit der ich auf dem bild ein auswahlrechteck (ähnlich wie bei photoshop mit dem auswahlwerkzeug) in festem größenverhältnis zeichnen kann,
um diese auswahl (z.B. den Kopf einer Person) dann als neues bild auszuschneiden und entsprechend zu speichern.

das laden eines bildes funktioniert einwandfrei, auch um die speicherung mache ich mir keine sorgen, das bekomme ich alles hin. mein problem besteht nur darin, das ich absolut keinen blassen schimmer habe, wie ich so eine auswahl auf einem bild (beispielsweise angezeigt in einem jframe) zeichen und entsprechend ausschneiden kann.

könnt ihr mir da vielleicht einen tipp geben oder hat jemand so etwas ähnliches umgesetzt, dass ich mal in euren code reinsehen könnte, wie das ganze funktioniert!?

ich habe das ganze forum abgesucht, aber leider keine entsprechende beiträge oder impulse gefunden.
auch googlen hat zu keinem zufriedenstellendem ergebnis geführt!?

ich wende mich also nun an euch in der hoffnung, dass ihr mir vielleicht ein wenig auf die sprünge helfen könnt.

für eure hilfe schon mal vielen herzlichen dank,

gruß javastarter
 

Wildcard

Top Contributor
Für ein Rechteck bauchst du 2 Punkte.
Den Startpunkt an dem geklickt wurde (denn musst du dir merken) und die aktuelle Position der Maus.
Letzteren bekommst du mit einem MouseMotionListener in der mouseDragged Methode.
Auch dieser Punkt wird dann in einem Member des Objekts abgelegt und repaint aufgerufen.
Dann kannst du zB in paintComponent das Rechteck zeichnen.
Mit den Koordinaten des Rechtecks kannst du dir dann ein Subimage holen:
http://java.sun.com/javase/6/docs/a...redImage.html#getSubimage(int, int, int, int)
 

JavaStarter

Mitglied
danke erstmal, ich werde mir deine tipps mal ansehen.

eine frage hätte ich jedoch noch, wie schaffe ich es das ein entsprechendes rechteck schon während der mausbewegung
gezeichnet wird. ich hoffe du weisst was ich meine? schliesslich kann man (z.B bei photoshop oder ähnlichen programmen) das entsprechende auswahlrechteck immer schon während des zeichnes quasi als vorschau sehen, wobei die endgültige auswahl dann immer erst mit loslassen der maus erfolgt.
 

Wildcard

Top Contributor
Genau das hab ich versucht zu beschreiben.
Du hälst immer Start und Endpunkt aktuell und rufst in mouseDragged repaint auf.
In der paintComponent zeichnest du dann anhand der beiden Punkte dein Rechteck.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben