![]() |
Bitmap als form für fenster
Hallo ich habe schon öfters gesehn, dass ein fester in form einer bitmap ist also niht eckig, nun meine frage wie geht das? Sicher mit dem bild und ner alpha map, aber wo stellt man das ein? Danke für eure Hilfe
|
Re: Bitmap als form für fenster
Delphi-Quellcode:
dann pappst du noch ein timage drauf, machst align:=alclient und lädtst ein image rein.
form1.transparentcolor:=true;
form1.transparentcolorvalue:=clblack; //schwarze Teile transparent form1.borderstyle:=bsnone; //keinen Rahmen anzeigen |
Re: Bitmap als form für fenster
sry wenn ich mich falsch ausgedrückt hab, aber ich möchte nicht eine bestimmte farbe als transparent, sondern einmal das bild und nach noch nen bild, welches nur aus schwarz und weiss besteht, wo dann das schwwarz transparent ist oder geht das damit auch?
|
Re: Bitmap als form für fenster
Also mit einer Bildmaske. Stichworte [oh]CreateRegion, CreateRegionEx, CombineRgn[/oh]
z.B: ![]() |
Re: Bitmap als form für fenster
Moin King Lui,
das Stichwort dürft hier "Region" lauten. Such' hier doch mal danach. (z.B. auch: CreateEllipticRgn, CreatePolygonRgn oder auch einfach CreateRectRgn) Leider klappt bei mir das Suchen im Moment nicht, ich kann also nicht prüfen, was Du hier für Fundstellen erhältst :? |
Re: Bitmap als form für fenster
Hmm, wenn du den ersten Beitrag von "ichbins" mal genauer anschaust,
dann hast Du doch genau das was Du möchtest ...
Delphi-Quellcode:
Du kannt statt Schwarz ja auch eine Farbe einsetzen, die garantiert
form1.transparentcolor:=true;
form1.transparentcolorvalue:=clblack; //schwarze Teile transparent form1.borderstyle:=bsnone; //keinen Rahmen anzeigen nicht in Deinem Bild vorkommt. Und im Bild werden die transparenten Bereiche dann genau in der Farbe markiert. |
Re: Bitmap als form für fenster
und bei den farben gibt man die in hex an?
EDIT: und ich würd gern noch wissen wie man anti aliased ecken hinbekommt. und wie kann ich es machen wenn die borders weg sind, dass man durch klick in das fenster das verschieben kann? |
Re: Bitmap als form für fenster
Zitat:
Zitat:
![]() Zitat:
|
Re: Bitmap als form für fenster
Delphi-Quellcode:
bei dem hier, was muss ich da bei uses eintragen sry bin noch anfänger
procedure TForm1.FormCreate(Sender: TObject);
var Alpha: Boolean; begin Bit := TBitmap32.Create; LoadPNGintoBitmap32(Bit, ExtractFilePath(ParamStr(0)) + 'test.png', Alpha); setWindowLong(Handle, GWL_EXSTYLE, getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED {or WS_EX_TRANSPARENT}); // WS_EX_TRANSPARENT macht das Fenster für Mausklicks transparent BlendF.BlendOp := AC_SRC_OVER; BlendF.BlendFlags := 0; BlendF.SourceConstantAlpha := 255; BlendF.AlphaFormat := AC_SRC_ALPHA; P := Point(0, 0); Size.cx := Bit.Width; Size.cy := Bit.Height; UpdateLayeredWindow(Handle, 0, nil, @Size, Bit.Handle, @P, 0, @BlendF, ULW_ALPHA); end; |
Re: Bitmap als form für fenster
TBitmap32 ist eine Klasse der
![]()
Delphi-Quellcode:
Hier wird ein PNG mit Alphakanal geladen, diese Zeile musst du dann noch ersetzen.
LoadPNGintoBitmap32(Bit, ExtractFilePath(ParamStr(0)) + 'test.png', Alpha);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 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