Forum: Object-Pascal / Delphi-Language
by s.h.a.r.k,
7. Jan 2010
Anbei findest jedenfalls mal die programmierte Lösung von oben. Sind nur ein paar Zeilen, die du einfügen musst. Kannst es dir ja mal anschauen.
Forum: Object-Pascal / Delphi-Language
by s.h.a.r.k,
7. Jan 2010
Das Problem ist doch, dass du etwas zeichnest und das wieder rückgängig machen musst. Und das geht halt nicht so einfach, außer du kennst du Zustand zuvor, den du dann wieder einblendest. Das ist genau das Verfahren, das ich dir gerade erzählt habe.
Was hälst du davon, wenn du das wirklich mit Shapes macht und zusätzlich noch mit Ebenen, à la Photoshop arbeitest? Sowas finde ich recht...
Forum: Object-Pascal / Delphi-Language
by s.h.a.r.k,
7. Jan 2010
Mir fällt irgendwie nur folgendes ein: Und zwar gibt es ja das sichtbare Bild. Zudem brauchst du noch eines, welches nicht auf der Form oder eben unsichtbar ist. Dieses dient als Zwischenspeicher. Wenn du nun eine Aktion abgeschlossen hast synchonisierst du beide Bilder, d.h. du kopierst den Inhalt des sichtbaren Bildes in das des nicht sichtbaren. Anstatt nun das TImage zu "clearen", wie ich das...
Forum: Object-Pascal / Delphi-Language
by s.h.a.r.k,
7. Jan 2010
Du musst dazu den ersten Beitrag editieren. Dies kannst du innerhalb von 24h machen.
Forum: Object-Pascal / Delphi-Language
by s.h.a.r.k,
7. Jan 2010
Das Problem ist, dass das Bild sich den letzten Rahmen merkt und diesen nicht löscht. Du musst das Bild inkl. Rahmen neu zeichnen -> siehe Code:
procedure TForm1.BildMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if not Zeichnen then exit;
if Werkzeug.ItemIndex=1 then //Das Rechteck-Werkzeug
begin
// Bild "clearen"
...