Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
das Problem ist ziemlich kompliziert, vielleicht bekomme ich es aber in den Griff, wenn ich das BufferedImage irgendwie lösche und danach völlig neu zeichne, anstatt es zu überzeichnen.
Wie lösche ich ein BufferedImage?
:? Hm, also das Problem mal ein wenig ausführlicher:
Die Klasse hatte es bereits in einem anderen Thread heute morgen angesprochen, nun geht es aber um ein anderes kleines Problem: Also ich lese einen gif-File in ein BufferedImage, das ich dann zeichne. Mit der Maus kann man verschiedene Punkte in dieser Graphik ansteuern, und wenn man diese Punkte anklickt, dann werden sozusagen Verbindungslinien zwischen den Punkten gezeichnet. Ich würde gerne eine transparente Linie à la:
verwenden. Die erste Linie wird auch so gezeichnet, wenn ich nun aber den zweiten Punkt ansteuere und die Verbindungslinie No. 2 gezeichnet wird, dann wird die Verbindungslinie No. 1 noch einmal nachgezeichnet, womit sie nicht mehr transparent ist, sondern halt "dopplt nachgezogen" intensiv rot.
Die Linie wird über die Funktion drawPolyline gezeichnet und die nötigen int-Arrays für die X- und Y-Koordinaten liefert der MausCursor.
Ich nehme an, ich muss das BufferedImage erst löschen, bevor ich daran gehe, es zu überschreiben.
Wenn ich z. B. einen weißen Kasten drüberlege, tut sich seltsamerweise auch nichts.
Dann stellt sich mir die Frage warum du die erste Linie nochmal nachzeichnest, bzw warum du in das BufferedImage und nicht auf eine Komponente zeichnest?
Dann stellt sich mir die Frage warum du die erste Linie nochmal nachzeichnest, bzw warum du in das BufferedImage und nicht auf eine Komponente zeichnest?
Ich schreibe in ein BufferedImage, um mit getRGB den Farbwert an einer bestimmten Mausposition zu ermitteln. Und das könnte ich nicht, wenn ich direkt auf die Komponente zeichne (so habe ich zumindest irgendwo gelesen).
Kann man das irgendwie löschen?