Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi image.picture auslesen? (https://www.delphipraxis.net/126189-image-picture-auslesen.html)

m4rk0 19. Dez 2008 17:16


image.picture auslesen?
 
Hey Leute hab ein Proplem mit image
ich weise der leeren komponente image1.picture
entweder image2.picture oder image3.picture zu.
wenn jetz zum beispiel

image1.picture:=image2.picture;

dann übernimmt er zwar das bild
wenn ich aber prüfen will

if image1.picture=image2.picture then label1.caption:='true' else label.1caption:='false' (zum beispiel so in der art)

dann gibt er immer false aus.
also image1.picture wurde image2.picture zugeweisen aber wenn ichs mit if überprüfen will is es irgendwie nich so

woran liegts?

turboPASCAL 19. Dez 2008 17:28

Re: image.picture auslesen?
 
Zitat:

Zitat von m4rk0
Delphi-Quellcode:
image1.picture:=image2.picture;
woran liegts?

Delphi-Quellcode:
<ImageX>.Picture.Assign( <ImageY>.Picture );
;)


Und:
Code:
if image1.picture=image2.picture then label1.caption:='true' else label.1caption:='false' (zum beispiel so in der art)
So kannst du Bilder nicht vergleichen. Das liegt unter Anderem daran das Bitmaps intern unterschiedliche Handles zugewiesen bekommen.

Apollonius 19. Dez 2008 17:34

Re: image.picture auslesen?
 
Ich würde eher sagen, dass das nicht funktioniert, weil ein := durch den Property-Setter automatisch zu einem Assign umgesetzt wird. Und der =-Operator vergleicht nur Referenzen.

m4rk0 19. Dez 2008 17:42

Re: image.picture auslesen?
 
Danke für die Antworten. Aber kann ich denn garnicht überprüfen ob image1.picture ein bestimmtes Bild hat?

Fussball-Robby 19. Dez 2008 17:57

Re: image.picture auslesen?
 
Zitat:

Zitat von m4rk0
Danke für die Antworten. Aber kann ich denn garnicht überprüfen ob image1.picture ein bestimmtes Bild hat?

Doch, das ist aber Quatsch. Du lädst die Bilder doch selbst in das Image rein, also merk dir doch beim Laden, welches Bild das Image enthält.

DeddyH 19. Dez 2008 18:18

Re: image.picture auslesen?
 
Eben, ansonsten könnte man die Bilder in jeweils einen MemoryStream laden und mit CompareMem vergleichen (nicht ausprobiert, nur so ein Gedanke).

m4rk0 19. Dez 2008 18:26

Re: image.picture auslesen?
 
hmm ich weiss immer noch nich wie ich mein problem lösen soll dann nenn ichs mal konkreter

http://img384.imageshack.us/img384/6039/tttaw5.jpg

auf jedem feld liegt eine image komponente
ich will jetzt dass die ki (roter kreis) einen roten kreis in das feld zwischen die kreuze setzt.
also wenn die felder von oben links bis unten rechts nummeriert sind dann wollte ich sowas

if feld1=kreuz an feld2=leer and feld3=kreuz then feld2:=kreis

wie soll ich das aber umsetzen wenn er bei image1.picture=imagekreuz.picture false sagt obwohl dort aber ein kreuz ist?

turboPASCAL 19. Dez 2008 18:30

Re: image.picture auslesen?
 
Nutze ein Array, in denen du zB. eine 0 für den Kreis und eine 1 für das Kreutz speichern.
Wenn das Array dann beim Zeichnen ausgelesen wird kanst du deine Images je nach Wert setzen.

DeddyH 19. Dez 2008 18:32

Re: image.picture auslesen?
 
Du musst die Logik von der Darstellung trennen, dann geht das recht einfach. Was Du da als Spielfeld hast, lässt sich ja als 2-dimensionales Array abbilden. Als einzelnes Feld bietet sich ein Record oder eine Klasse an, die 3 verschiedene Zustände kennt: leer, Kreuz oder Kreis. Je nachdem, welchen Zustand das Feld hat, lädst Du die entsprechende Grafik. Du musst nun nicht mehr binär Bitmaps vergleichen, sondern nur die Zustände der beiden Felder.

m4rk0 21. Dez 2008 11:13

Re: image.picture auslesen?
 
Ok vielen Dank, hat alles gut geklappt mit record. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:50 Uhr.
Seite 1 von 2  1 2      

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