![]() |
Re: runde Schaltflächen
![]() sind ganz nett, ham nen style manager dabei, und sind kostenlos. weiss aber leider die inet-adr... clickediclick.... ![]() |
Re: runde Schaltflächen
äh... die beiden Seiten funzen nich so recht.... trotzdem danke
noch ne Frage zu der Sache, mit dem vergleichen der Pixelfarbe mit der Transparent-Farbe. da wird folgendes nie true:
Delphi-Quellcode:
dagegen funktioniert das:
if Image1.Canvas.Pixels[x,y]=Image1.Picture.Bitmap.TransparentColor then ....
Delphi-Quellcode:
sogar, wenn man die TransparentColor vorher auf clWhite setzt, passiert nix bei der ersten, aber bei der zweiten.
if Image1.Canvas.Pixels[x,y]=clWhite then ....
is das nich komisch? meine Meinung! Wat denkt ihr darüber? |
Re: runde Schaltflächen
Du kannst mit Regions arbeiten und dann die Win-API PtInRegion verwenden.
Regions lassen mit Hilfe der JCL sehr leicht aus Bitmaps erzeugen. Schau mal in JclGraphics.pas, dort gibt es eine sehr nützliche Routine namens CreateRegionFromBitmap. Somit solltest Du alles haben was Du brauchst, hoffe ich zumindest ;-) |
Re: runde Schaltflächen
Zitat:
mfg Christian |
Re: runde Schaltflächen
Hi...
Warum nicht so:
Delphi-Quellcode:
Wenn du tranzparenz einschaltest geht das - soweit ich weiss - immer vom ersten Pixel aus. Habs mal eben getestet und geht ganz gut... Hab ein Donut-Button benutzt und konnte auch wirklich nur auf den Ring klicken.
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin if Image1.Picture.Bitmap.Canvas.Pixels[X,Y] <> Image1.Picture.Bitmap.Canvas.Pixels[0,0] then Showmessage('Hit me'); end; regards Toni |
Re: runde Schaltflächen
Du solltest die Transparenzfarbe immer im Original-Bitmap abfragen, da sie ja leider direkt auf dem Button-Canvas nicht mehr existiert (spricht transparent ist)
|
Re: runde Schaltflächen
Doch, geht. Probiers doch mal aus.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 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