Bildausschnitte markieren

Status
Nicht offen für weitere Antworten.

thomas.g

Bekanntes Mitglied
Hallo, ich bräuchte wieder mal eure Hílfe!

Und zwar geht es darum, ich möchte einen Bildausschnitt markieren, das geht auch, doch es soll wie in Paint, Photoschop usw eine Ameisenkette kommen, (---> Markieren)
Wie kann man das machen?
 
naja da musst du dann temporär linien auf dein bild malen. also ereinmal musst du natürlich den mousePressed(MouseEvent e) bemerken und die position speichern. und dann musst du in der mouseDragged(MouseEvent e) die aktuelle mausposition bestimmen und dann dazwischen dein reckteck malen.
PS: mouseDragged gibst im MouseMotionListener
 
Ameisenketten kann man mit "BasicGraphicsUtils.drawDashedRect" zeichnen.
 
"javax.swing.plaf.basic.BasicGraphicsUtils" muss man importieren, wie ein Blick in die API schnell verrät :wink:
 
Noch ne Frage,
Wenn ich was zeichne, was muss ich machen, damit ich mit ebenen arbeiten kann?

zb.
Gemaltes Rechteck später größer ziehen können etc.
Außerdem sollten alle gezeichneten Objecte verschiebbar sein!
Wie geht das?
Danke, Thomas G
 
außerdem,
ich habe filter programmiert, die das Bild verändern!
das geht auch, doch bei größeren Bildern dauert das, was kann ich also machen, um die performance zu erhöhen?
Ich weiß, dass es darauf sicher keine eindeutigen Antworten geben wird, doch ich wäre schon über tipps glücklich!

PS:
Der Filter funktioniert so:
Er Analysiert jedes Pixel (for Schleife) und ändert dann, wenn er die gewählte Farbe gefunden hat, die Farbe des Pixels, welche die gleiche Farbe wie die gewählte Farbe haben!
(alles BufferedImage)

Danke, Thomas G
:bahnhof:
 
Vielleicht ViolateImage oder wie das schon heißt, ansonsten helfen dir 3 Buchstaben, bzw bei Performance 😉


C++ :bae: Solche Dinge kannst unter Java mit Performance, zz noch vergessen, vielleicht ändert sich das ja mal in absehbarer Zeit 😉
 
thomas.g hat gesagt.:
Noch ne Frage,
Wenn ich was zeichne, was muss ich machen, damit ich mit ebenen arbeiten kann?

zb.
Gemaltes Rechteck später größer ziehen können etc.
Außerdem sollten alle gezeichneten Objecte verschiebbar sein!
Wie geht das?
Danke, Thomas G
Dann solltest du alles was gezeichnet wird zu JComponents machen die sich selbst zeichnen.
Bei Erstellung gibst du ihnen entsprechende Parameter mit wie sie sich zeichnen müssen und in welcher Ebene sie liegen. Ich kann dir aber gleich sagen was du vorhast wird nicht ganz einfach werden 😀
 
so, nun hab ich das mit den JComponents gemacht, man kann sie mittels eines Events verschieben, doch wenn ich das ganze speichern möchte, muss ich alle JComponents auf eine JComponent reduzieren!
Wie geht das?
außerdem wäre es toll, wenn man zB nur ebene 3 + 5 auf eine ebene reduzieren könnte!

mfg Thomas G
 
thomas.g hat gesagt.:
so, nun hab ich das mit den JComponents gemacht, man kann sie mittels eines Events verschieben, doch wenn ich das ganze speichern möchte, muss ich alle JComponents auf eine JComponent reduzieren!
Warum?
Serialisier das ganze (aber nicht die JComponents, sondern nur das zugrundeliegende Datenmodell!!!)
 
naja, ich versteh gleich viel wie vorher aber, wichtig wäre eben nur, das ich alle JComponents auf ein:
Image img = ........ bekommen kann, da ich sonst nicht speichern kann!

bitte helft mir, danke
 
Ach du willst am schluss nur noch ein Bild haben? Dachte das ganze geht in Richtung Vektorgrafikprogramm!
Gibts hier schon einige Threads zu. Such mal nach 'BufferedImage speichern' oder so.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben