Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Individuelle Bildgröße (https://www.delphipraxis.net/31936-individuelle-bildgroesse.html)

Patricius 15. Okt 2004 21:50


Individuelle Bildgröße
 
Hallo,

Ich habe folgendes Problem: Ich möchte mehrere Bilder nebeneinander anzeigen lassen(Landkarte), und auf diese Bilder sollte man dann klicken und spezielle Eigenschaften abrufen. Aber genau dort liegt das Problem: Bei TImage kann man offensichtlich die Größe nicht individuell anpassen, also zb wenn ich auf Westrussland klicke komme ich zur Ukraine etc. Gäbe es da eine möglichst code-ökonomische Lösung?

Danke

Stanlay Hanks 15. Okt 2004 22:35

Re: Individuelle Bildgröße
 
Hi. Auch wenn ich das mit Russland und der Ukraine nicht ganz verstanden habe: Du kannst bei einem TImage die größe schon verändern. Hast du eventuell AutoSize = True? Dann hat eine Größenveränderung bei Height und Width keine Wirkung. Wenn du die Größe veränderst solltest du auch "Proportional" auf true setzen, sonst sieht Russland am Ende noch wie die Ukraine aus :mrgreen:

Man liest sich, Stanlay :hi:

Patricius 15. Okt 2004 22:43

Re: Individuelle Bildgröße
 
Mir ist natürlich klar, wie ich das SO mache.

Sieh mal:

Mit Transparence wird das Bild nur transparent, wenn man auf den transparenten Teil klickt wirds noch immer aufgerufen. Verstehst du das Dilemma? Russland hat zb ganz im Westen einen Zipfel von Ostpreußen. Wenn Russland eine Ebene höher ist, dann erhalte ich nix mehr von Ostpreußen bis runter zur Höhe(Tiefe) des Kaukasus. Und bei anderen Ländern ist es genau so.

Es geht darum, einen Bereich abzustecken und den so zu gestalten, dass man ihn auch anklicken kann.

Stanlay Hanks 15. Okt 2004 22:52

Re: Individuelle Bildgröße
 
Das Bild wird ja nur transparent, weil es eine bestimmte Farbe gibt, die als Transparentzfarbe gilt (schätze mal, dieses rosa).
Wenn auf ein Bild geklickt wird, dann kannst du ja prüfen, ob das Pixel die entsprechende Farbe hat. Wenn ja, muss ein anderes Bild gemeint sein, wenn nein, kannst du auf den Klick reagieren.

Man liest sich, Stanlay :hi:

Nicodius 15. Okt 2004 23:06

Re: Individuelle Bildgröße
 
sorry stan aber das isn blödsinn


~ sagen wir mal 48 bilder die länder wechseln durch angriffe und bündnisse ihre farben ;)

dann die farbe zu prfen ist n todesstoß .. .;) und transparent -- n klick auf nen transperenten teil ist trozdem ein klick auf das bild :roll: das solltest du ja schon wissen :mrgreen: :mrgreen: :mrgreen: :mrgreen:


sorry ;) muss das mit dem kommunistenchat noch verkraften :wink: :mrgreen:

Luckie 15. Okt 2004 23:09

Re: Individuelle Bildgröße
 
Zitat:

Zitat von Nicodius
sorry stan aber das isn blödsinn


~ sagen wir mal 48 bilder die länder wechseln durch angriffe und bündnisse ihre farben ;)

dann die farbe zu prfen ist n todesstoß .. .;) und transparent -- n klick auf nen transperenten teil ist trozdem ein klick auf das bild :roll: das solltest du ja schon wissen :mrgreen: :mrgreen: :mrgreen: :mrgreen:


sorry ;) muss das mit dem kommunistenchat noch verkraften :wink: :mrgreen:

Mit wie viel Promille ist diese Posting entstanden? :gruebel:

Nicodius 15. Okt 2004 23:15

Re: Individuelle Bildgröße
 
war gerade im shakry - feiern und beim chatten mit meiner *jetzt* - *neuen* *freundin* also bin ich zu happy ;)

atreju2oo0 16. Okt 2004 00:30

Re: Individuelle Bildgröße
 
Am elegantesten löst Du das Problem IMO indem Du eine ImageMap erstellst...
Also

Delphi-Quellcode:
var ImageMap = array[1000,1000]of byte;
Wenn jetzt also auf Punkt x,y geklickt wird kannst Du schreiben

Delphi-Quellcode:
case imagemap[x,y] of
 1: showmessage('Russland');
 2: showmessage('Polen');
end;
Damit brauchst Du nur noch ein Bild mit allen Ländern und kannst den Rest eigentlich ganz bequem verwalten!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 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