![]() |
click fläche bei bildern definieren ?
Liste der Anhänge anzeigen (Anzahl: 1)
hallo leute, ich nochmal...
mal ne frage ...gibt es irgendwelche komponenten die ich über images drüber legen kann um click flächen zu definieren ? also ich habe ein image, von dem soll nur ein ganz kleiner teil anklickbar sein. jetzt könnte ich ja ein bild ohne inhalt drüberlegen und diesen on click bereich nutzen. wenn mein on click bereich jetzt aber nicht 4 eckig ist sondern zB rund bekomme ich ja nicht alles zum anklicken. hab ein beispiel bild angegeben. der rote bereich soll der on click sein ! |
Re: click fläche bei bildern definieren ?
leg doch ein bild wo zum beispiel die schublade abgebildet ist und der rest tranparent ist über das hauptbild und prüfe dann beim klick auf das andere bild welche farbe der pixel hat der angeklickt wurde und wenn die farbe nicht die der transparenten ist dann passiert was.
Ich hoffe du verstehst mich!! :mrgreen: |
Re: click fläche bei bildern definieren ?
Hi!
Du könntest auch sozusagen die Koordinaten des Klickpunktes ermitteln. Dabei sollte dir z.B. ![]() Ciao, Frederic |
Re: click fläche bei bildern definieren ?
hmm kannst du mir dazu mal ein beispiel machen ? so richtig verstehe ich nicht.
zu den koordinaten: hmm aber da hab ich ja für jedes object nen haufen koordinaten ? |
Re: click fläche bei bildern definieren ?
Liste der Anhänge anzeigen (Anzahl: 2)
also, nehmen wir an du hast bild1(anhang), dann legst du bild2über bild1 und stellts als transparente farbe bei bild2 weiß ein. wenn jetzt auf bild2 geklickt wird, prüfst du mit image1.canvas.pixel[] ob die pixelfarbe weiß ist oder nicht, wenn die pixelfarbe nicht weiß ist löst du halt das aus, was passieren soll.
|
Re: click fläche bei bildern definieren ?
Liste der Anhänge anzeigen (Anzahl: 1)
das hört sich gut an , jetzt musst du mir nur noch sagen , wo ich die transparente farbe bestimme .. ich bau mal ne demo !
|
Re: click fläche bei bildern definieren ?
könnte sowas nicht mit den graphics 32 komponenten gut gehen ?
|
Re: click fläche bei bildern definieren ?
hey leute, kann ich nicht einfach dem bild sagen, dass es den transparenten bereich nicht beachten soll ? bzw wie ist die farbdefinition für den transparenten bereich ?
weil dann kann ich ja im mouse over oder in click einfach sagen if transparent = true then mach nix ??? |
Re: click fläche bei bildern definieren ?
Liste der Anhänge anzeigen (Anzahl: 1)
also ...ich hab jetzt ein bild mit rosa hintergund (siehe anhang) . ich sage zuerst:
Delphi-Quellcode:
damit definiere ich die farbe der transparents. wie kann ich jetzt zB beim mouse over mit dieser farbe (der transparenten farbe) weiter arbeiten ? also sagen, sobald diese farbe (die transparents auftaucht) werden die normalen funktionen sowie onclick nicht mehr aktiviert ?
image1.Picture.Bitmap.TransparentColor = $FF00FF
image1.transparents := true; das muss doch jemand wissen ? bitte ! |
Re: click fläche bei bildern definieren ?
|
Re: click fläche bei bildern definieren ?
danke, werde ich mir mal anschauen...aber es muss doch bestimmt auch nur im code gehen ? weiss niemand eine lösung ?
|
Re: click fläche bei bildern definieren ?
hey diese komponente sieht recht viel versprechend aus...klappt auch alles wunderbar..würde nur gerne wissen wie ich den mous click definiere ...danke cu !
|
Re: click fläche bei bildern definieren ?
Nur so ne Frage am Rande, kann man das nicht auch mit Regions lösen?
grz zer00 |
Re: click fläche bei bildern definieren ?
Liste der Anhänge anzeigen (Anzahl: 1)
ja genau diese komponente macht das...ich habe die region für mein bild definiert aber ich kriege den mouse click nicht hin. wenn ich auf das bild klicke wird immer alles ausgewählt und nicht meine region was mache ich falsch ...wer kann mir da helfen ?
also ich uppe nochmal das bild und dazu die region...wer kann mir denn da sagen wie ich bei dieser, oben genannten komponente, den mouse click event nur für die region ermittel ? weil der cursor änder sich ja schon so wie ers es soll: also das bild ist als anhang dabei und hier ist die region. einfach bei der komponente adden bei region....hey ich bin euch echt dankbar wenn ihr mir da helft ! region: X,32,1,63,1008,1,1,63,80,50,1,52,2,48,2,54,3,46,3, 55,4,44,4,56,5,42,5,57,6,40,6,57,7,38,7, 57,8,36,8,57,9,35,9,57,10,34,10,57,11,33,11,57,13, 33,13,56,16,32,16,56,21,31,21,56,24,31,24,55,27,29 , 27,55,28,27,28,55,29,25,29,55,30,23,30,55,31,21,31 ,55,32,19,32,55,33,17,33,54,34,15,34,53,35,13,35,5 1, 36,11,36,53,37,10,37,54,38,9,38,55,42,10,42,54,43, 11,43,53,44,13,44,51,45,15,45,49,46,17,46,47,47,19 , 47,45,48,21,48,43,49,23,49,41,50,25,50,39,52,23,52 ,41,53,21,53,43,54,19,54,45,55,17,55,47,56,15,56,4 9, 57,13,57,51,58,11,58,54,59,9,59,55,60,7,60,57,61,5 ,61,59,62,3,62,61,63,1,63,63,65,3,65,61,66,5,66,59 , 67,7,67,57,68,9,68,55,69,11,69,53,70,13,70,51,71,1 5,71,49,72,17,72,47,73,19,73,45,74,21,74,43,75,23, 75, 41,76,25,76,39,77,27,77,37,78,29,78,35,79,31,79,33 ,80, das gehört dann alles nebeneinander [edit=Phoenix]Scrollbalken entfernt durch zusätzliche Zeilenumbrüche. Mfg, Phoenix[/edit] |
Re: click fläche bei bildern definieren ?
Hier ist mal ein bisschen Code, ist aus dem Delphi 7 Kochbuch.
Es wird eine EllipticRgn verwendet. Alternativ könntest Du auch Shape-Komponenten verwenden. Siehe zweites Code-Beispiel. Region-Code
Delphi-Quellcode:
implementation
{$R *.DFM} var rh1 : HRGN; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin If PtInRegion(RH1, x,y) Then begin canvas.Pixels[x,y]:= clblack; canvas.TextOut(x+1,y+1,'In Region'); end; end; procedure TForm1.FormPaint(Sender: TObject); begin canvas.Ellipse(10, 10, 210, 210); end; procedure TForm1.FormCreate(Sender: TObject); begin RH1 := CreateEllipticRgn(10, 10, 210, 210); end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin If PtInRegion(RH1,x,y) Then canvas.Pixels[X, Y]:= clred; end; end. Beispiel mit Shapes
Delphi-Quellcode:
grz zer00
implementation
uses Unit2; //nur als Beispiel {$R *.DFM} procedure TForm1.Shape3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin close end; procedure TForm1.Shape4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin form2.show end; procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin showmessage('Hier könnte ein anderes Formular geöffnet werden') end; procedure TForm1.Shape2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin showmessage('Hier könnte eine andere Anwendung gestartet werden') end; end. |
Re: click fläche bei bildern definieren ?
ist wohl nicht ganz was ich suche ..aber danke
|
Re: click fläche bei bildern definieren ?
Zitat:
grz zer00 |
Re: click fläche bei bildern definieren ?
weil ich nicht weiss wie ich das auf mein bild aufziehen soll...ich hab ja jetzt diese komponente mit der geht es 1000% -> wenn mir jemand sagen kann wie das click event zu definieren ist ? ..danke
|
Re: click fläche bei bildern definieren ?
ganz norml im object inspector der komponente bei den events?!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:20 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 by Thomas Breitkreuz