![]() |
Rückgängig-Funktion ?
Hallo!
Ich habe folgendes Problem : In meinem eigenen "miniPaint" habe ich bereits alle möglichen funktionen drin. Von Speichern über Laden, Füll- und Sprühdosenfunktion. Nun habe ich mich gefragt, wie ich es denn hinkriegen kann, das ich eine Rückgängig bzw. Wiederherstellen funktion habe! Ausprobiert habe ich schon viel aber eine richtige Lösung habe ich nciht gefunden ! HAT JEMAND EINE IDEE? Hoffe auf Antwort ! MfG Paty |
Re: Rückgängig-Funktion ?
Zitat:
Was hast du denn schon ausprobiert? Ich würde vor jeder Aktion, die aktuelle Grafik im Speicher ablegen und dort sichern. Soll ein Schritt rückgängig gemacht werden, wird einfach die gespeicherte Version auf die Zeichenfläche kopiert. Und wenn du die Sicherungskopien in einer Liste ( ![]() |
Re: Rückgängig-Funktion ?
Liste der Anhänge anzeigen (Anzahl: 2)
hallo
ich hab hierfür mal ein Tutorial gefunden. Anbei das Tutorial und die Quelltexte Vielleicht hilfts dir ja! |
Re: Rückgängig-Funktion ?
Hi und herzlich willkommen :-)
eine komplette Lösung habe ich nicht parat, nur 3 Überlegungen: - Welche Schritte sollen rückgängig gemacht werden? Genauen Punkt festlegen... - Dann könntest Du a) ein komplettes Bild mit aktuellem Stand im Speicher oder auf Festplatte ablegen oder b) alle Pixeländerungen merken (x,y,OldColor,NewColor) c) die Aktion "Füllen an Position x/y mit Ursprungsfarbe OldColor" merken und später eine "Gegenaktion daraus berechnen. Das wird aber nicht funktionieren, wenn Du weiße Bereiche, welche an schwarze Bereiche angrenzen, mit schwarz füllst. Ebenso würd es dabei Probleme mit "Sprühdose rückgängig" geben. Also am einfachsten wird a) sein. Wenn Speicherplatz eine Rolle spielt dann b). stahli |
Re: Rückgängig-Funktion ?
Man könnte auch die Aktionen in eigenen Ebenen durchführen, dann könnte man die Aktionen einzeln zurücknehmen ohne folgende Operationen zu beinflussen.
|
Re: Rückgängig-Funktion ?
Ich habe das hier mal ausprobiert :
![]() hat aber nicht funktioniert. Zwar keine Fehlermeldungen aber auch sonst nichts. danke für die schnelle Antwort. |
Re: Rückgängig-Funktion ?
Dir ist klar, dass sich der Code auf Texteingabefelder bezieht?
|
Re: Rückgängig-Funktion ?
Hallo,
über die grundlegende Arbeitsweise habe ich ein ![]() Gruß xaromz |
Re: Rückgängig-Funktion ?
Das habe ich vor einer stunde gelesen .. Ja ^^ Mit den Containern ist eine gute idee.
|
Re: Rückgängig-Funktion ?
Ja kla das mit dem Tutorial ist ja okay aber funktioniert das überhaupt bei einem Image?
|
Re: Rückgängig-Funktion ?
Wie kann ich denn meinem Programm sagen das er das von sich aus in den Container speichert? Also ich Check die ganze Sache echt noch nich wirklich :? . Wie muss ich da vorgehen ?
|
DP-Maintenance
Dieses Thema wurde von "Daniel" von "Fragen / Anregungen zur DP" nach "Sonstige Fragen zu Delphi" verschoben.
|
Re: Rückgängig-Funktion ?
Hallo,
welche Probleme hast Du denn genau? In meinem Tutorial hab ich doch die einzelnen Schritte erklärt. Da wird zwar mit Text gearbeitet, aber Du musst eben stattdessen Deine Bilddaten sichern. Gruß xaromz |
Re: Rückgängig-Funktion ?
Glaub mir ich kenn mich da aus: Du solltest mal den Edit Button deines Beitrags klciken so kansst du ihn ändern wenn du das nicht machst haben hier einige leute (eigentlich alle) eas da gegen^^
|
Re: Rückgängig-Funktion ?
[quote]welche Probleme hast Du denn genau? In meinem Tutorial hab ich doch die einzelnen Schritte erklärt. Da wird zwar mit Text gearbeitet, aber Du musst eben stattdessen Deine Bilddaten sichern.
Das war meine frage von Oben: ob die indo und redo funktionen nicht nur für den editor sind? weil es jetzt alles in meins umzuschreiben wäre mies wenns dann nicht ffunktioniert. wenn ja, dann ist das klasse und ich machs sofort^^ |
Re: Rückgängig-Funktion ?
Hallo,
also meine Undo/Redo-Klassen hab ich mir geschrieben, um alle möglichen Sachen rückgängig zu machen. Ich verwende das z. B. für ein Layoutprogramm (einfügen, ausschneiden, löschen, verschieben, skalieren, drehen...). Welche Daten Du in den Container steckst, ist ja egal. Gruß xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz