Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bilder tauschen (https://www.delphipraxis.net/148687-bilder-tauschen.html)

xxsasch4xx 6. Mär 2010 10:03


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.

DeddyH 6. Mär 2010 10:11

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.

xxsasch4xx 6. Mär 2010 10:13

Re: Bilder tauschen
 
was für einen variablen typ brauch ich den dafür?

DP-Maintenance 6. Mär 2010 10:13

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....

DeddyH 6. Mär 2010 10:19

Re: Bilder tauschen
 
Wenn sich die Grafiken in Bitmaps konvertieren lassen würde ich TBitmap nehmen.

xxsasch4xx 6. Mär 2010 10:30

Re: Bilder tauschen
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var bmp1,bmp2: TBitmap;
begin

bmp1:=image1.picture;
...

end;
da kommt immer ne fehlermeldung inkompatible typen:'TBitmap' und 'Tpicture'

DeddyH 6. Mär 2010 10:31

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;

xxsasch4xx 6. Mär 2010 10:33

Re: Bilder tauschen
 
danke klappt

xxsasch4xx 6. Mär 2010 12:06

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

DeddyH 6. Mär 2010 12:11

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).

xxsasch4xx 6. Mär 2010 12:13

Re: Bilder tauschen
 
woher weiss delphi den dann welches das weisse ist?

DeddyH 6. Mär 2010 12:14

Re: Bilder tauschen
 
Das musst Du ihm schon sagen, deshalb sollst Du ja in Tag schreiben.

xxsasch4xx 6. Mär 2010 12:21

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?

DeddyH 6. Mär 2010 12:24

Re: Bilder tauschen
 
Zum Tauschen brauchst Du ja wohl 2 Images. Also musst Du auch bei beiden nachsehen, was in Tag steht.

SirThornberry 6. Mär 2010 12:27

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.

DeddyH 6. Mär 2010 12:29

Re: Bilder tauschen
 
Zitat:

Zitat von SirThornberry
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.

Stimmt eigentlich.

xxsasch4xx 6. Mär 2010 12:52

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.

DeddyH 6. Mär 2010 12:55

Re: Bilder tauschen
 
Und was ist Deine Frage?

xxsasch4xx 6. Mär 2010 13:01

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

DeddyH 6. Mär 2010 13:10

Re: Bilder tauschen
 
Hatte ich die Tags schon erwähnt?

xxsasch4xx 6. Mär 2010 13:11

Re: Bilder tauschen
 
ja aber das mit den tags hab ich noch nicht ganz verstanden..
habe es ja erst anders gemacht ..

wicht 6. Mär 2010 13:12

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.

Noedel 6. Mär 2010 13:14

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" ...

xxsasch4xx 6. Mär 2010 13:16

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?

Noedel 6. Mär 2010 13:19

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...

DeddyH 6. Mär 2010 13:20

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.

xxsasch4xx 6. Mär 2010 14:01

Re: Bilder tauschen
 
super, jetzt klappt es
ich liebe dieses board :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz