![]() |
Bilder tauschen
Liste der Anhänge anzeigen (Anzahl: 1)
hi, wie bekomme ich es den hin das durch klick auf den button die beiden bilder getauscht werden?
ich habe ein bild im anhang hochgeladen wie ich es meine. |
Re: Bilder tauschen
Versuch es einmal mit einem Dreickestausch: zuerst die Grafik des ersten Bildes in einer Variablen ablegen, dann dem ersten Bild das zweite Bild zuweisen und dann dem zweiten Bild das gemerkte in der Variablen.
|
Re: Bilder tauschen
was für einen variablen typ brauch ich den dafür?
|
DP-Maintenance
Dieses Thema wurde von "Daniel G" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Sonstige Fragen zu Delphi" verschoben.
Das hat definitiv nichts in der Code-Library zu suchen.... |
Re: Bilder tauschen
Wenn sich die Grafiken in Bitmaps konvertieren lassen würde ich TBitmap nehmen.
|
Re: Bilder tauschen
Delphi-Quellcode:
da kommt immer ne fehlermeldung inkompatible typen:'TBitmap' und 'Tpicture'
procedure TForm1.Button1Click(Sender: TObject);
var bmp1,bmp2: TBitmap; begin bmp1:=image1.picture; ... end; |
Re: Bilder tauschen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var temp: TBitmap; begin temp := TBitmap.Create; try temp.Assign(Image1.Picture.Graphic); Image1.Picture.Graphic.Assign(Image2.Picture.Graphic); Image1.Refresh; Image2.Picture.Graphic.Assign(temp); Image2.Refresh; finally temp.Free; end; end; |
Re: Bilder tauschen
danke klappt
|
Re: Bilder tauschen
Liste der Anhänge anzeigen (Anzahl: 1)
ich würde ja gern mein programm erweitern das es nur noch die bilder tauscht wenn man auf das bild klickt wo man ein bild sieht also wenn das weisse geklickt wird soll nichts passiern
im anhang ist ein bild wie ich es meine |
Re: Bilder tauschen
Du könntest die Tag-Eigenschaft von TImage dafür gebrauchen. Wenn weiß, dann 0, ansonsten 1 (oder umgekehrt, wie es Dir lieber ist).
|
Re: Bilder tauschen
woher weiss delphi den dann welches das weisse ist?
|
Re: Bilder tauschen
Das musst Du ihm schon sagen, deshalb sollst Du ja in Tag schreiben.
|
Re: Bilder tauschen
ich hab jetzt die tag eigenschaft von image1 auf 1 gesetz und in der if then elf abfrage von image1.click abgefragt ob image1.tag gleich 0 ist das klappt soweit und es wird nicht mehr getauscht
doch wenn ich jetzt auf das bild klicke mit dem tag 0 (also das was nicht weiss ist) dann werden die bilder ja getauscht, so wie es sein soll aber wenn man jetzt auf das getauschte weisse klickt dann wird wieder getauscht obwohl ich das nicht will was muss ich dafür in image2.click reinschreiben? |
Re: Bilder tauschen
Zum Tauschen brauchst Du ja wohl 2 Images. Also musst Du auch bei beiden nachsehen, was in Tag steht.
|
Re: Bilder tauschen
Wenn es 2 TImages sind wäre das performanteste wenn du einfach die Position der Images tauschst anstelle den Speicher hin und her zu kopieren.
|
Re: Bilder tauschen
Zitat:
|
Re: Bilder tauschen
Liste der Anhänge anzeigen (Anzahl: 1)
es hat jetzt geklappt ich hab es nicht mit tags gemacht sondern habe image1.enabled:= true or false gehollt usw.
ich wollte jetzt ein drittes bild reinmachen und es soll nur getauscht werden wenn neben dem image3.picture also in image2.picture das weisse bild befindet ansonsten soll das image3.picture nicht klickbar sein also eigenschaft image3.enabled:=false; erst wenn sich das weisse bild in image2 befindet soll es wieder aktiviert werden. |
Re: Bilder tauschen
Und was ist Deine Frage?
|
Re: Bilder tauschen
ja meine frage ist wie man rausfindet was in image2 ist damit man weiss ob man tauschen darf wenn man auf image3 klickt
also irgentwie vieleicht den datei namen rausfinden was in image2 ist wenn image2.dateiname:="weiss" dann tauschen wenn nicht dann mache nichts so in der art hab ich das gemeint |
Re: Bilder tauschen
Hatte ich die Tags schon erwähnt?
|
Re: Bilder tauschen
ja aber das mit den tags hab ich noch nicht ganz verstanden..
habe es ja erst anders gemacht .. |
Re: Bilder tauschen
Mach dir dafür eine oder mehrere Hilfsvariablen.
Oder Leite eine eigene Klasse von TImage ab mit einer Property, in die du einen Merker für den Inhalt packst. Wegen den Tags: Da kannst du einfach eine Zahl reintun (Integer). Und du legst einfach Bedeutungen für die Zahlen fest: Steht eine 0 drin, ist es Bild a. Steht eine 1 drin, ist es Bild b. So zum Beispiel. |
Re: Bilder tauschen
Tag ist ne Eigenschaft wie Width oder Enabled und kann im OI eingestellt werden. Damit kannst du die Bilder eindeutig zuordnen mit 0 bis 2 oder was auch immer. Oder benutz die Eigenschaft Hint, dann kannst du sogar Strings reinschreiben und die Bilder mit "Weiß", "Globus" und "Tasten" "benennen" ...
|
Re: Bilder tauschen
also ich habe jetzt im objektinspektor festgelegt das 0 der tag von dem image ist welches kein bild drin hat.
wo kann man das den festlegen welche tag zahl welches bild ist? |
Re: Bilder tauschen
das machst du selber auf nem Zettel... (sofern du nicht drei Zahlen auseinander halten kannst)
merk dir einfach, dass das Bild 0 das leere ist, usw... |
Re: Bilder tauschen
Das musst Du schon selber tun. Tag steht Dir zur völlig freien Verfügung, das heißt aber auch, dass Du diese Eigenschaft dann selbst pflegen musst.
|
Re: Bilder tauschen
super, jetzt klappt es
ich liebe dieses board :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 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