AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap als form für fenster

Ein Thema von King Lui · begonnen am 16. Jan 2006 · letzter Beitrag vom 16. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
King Lui

Registriert seit: 15. Jan 2006
17 Beiträge
 
Delphi 7 Architect
 
#1

Bitmap als form für fenster

  Alt 16. Jan 2006, 17:53
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
Matthias Hollerbach
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Bitmap als form für fenster

  Alt 16. Jan 2006, 18:04
Delphi-Quellcode:
form1.transparentcolor:=true;
form1.transparentcolorvalue:=clblack; //schwarze Teile transparent
form1.borderstyle:=bsnone; //keinen Rahmen anzeigen
dann pappst du noch ein timage drauf, machst align:=alclient und lädtst ein image rein.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
King Lui

Registriert seit: 15. Jan 2006
17 Beiträge
 
Delphi 7 Architect
 
#3

Re: Bitmap als form für fenster

  Alt 16. Jan 2006, 18:32
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?
Matthias Hollerbach
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: Bitmap als form für fenster

  Alt 16. Jan 2006, 18:43
Also mit einer Bildmaske. Stichworte [oh]CreateRegion, CreateRegionEx, CombineRgn[/oh]

z.B: http://www.delphipraxis.net/internal...=477599#477599
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Bitmap als form für fenster

  Alt 16. Jan 2006, 18:48
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
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
noch_ein_hannes

Registriert seit: 18. Sep 2003
130 Beiträge
 
#6

Re: Bitmap als form für fenster

  Alt 16. Jan 2006, 18:54
Hmm, wenn du den ersten Beitrag von "ichbins" mal genauer anschaust,
dann hast Du doch genau das was Du möchtest ...

Delphi-Quellcode:
form1.transparentcolor:=true;
form1.transparentcolorvalue:=clblack; //schwarze Teile transparent
form1.borderstyle:=bsnone; //keinen Rahmen anzeigen
Du kannt statt Schwarz ja auch eine Farbe einsetzen, die garantiert
nicht in Deinem Bild vorkommt. Und im Bild werden die transparenten Bereiche
dann genau in der Farbe markiert.
- everything is possible -
  Mit Zitat antworten Zitat
King Lui

Registriert seit: 15. Jan 2006
17 Beiträge
 
Delphi 7 Architect
 
#7

Re: Bitmap als form für fenster

  Alt 16. Jan 2006, 20:24
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?
Matthias Hollerbach
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: Bitmap als form für fenster

  Alt 16. Jan 2006, 20:42
Zitat von King Lui:
und bei den farben gibt man die in hex an?
Jupp, TColor als $00BBGGRR.

Zitat:
EDIT: und ich würd gern noch wissen wie man anti aliased ecken hinbekommt.
Da brauchst du ein Bitmap mit richtigem Alphakanal. http://www.delphipraxis.net/internal...=453853#453853
Zitat:
und wie kann ich es machen wenn die borders weg sind, dass man durch klick in das fenster das verschieben kann?
Ab hier übernimmt die DP-Suche .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
King Lui

Registriert seit: 15. Jan 2006
17 Beiträge
 
Delphi 7 Architect
 
#9

Re: Bitmap als form für fenster

  Alt 16. Jan 2006, 20:50
Delphi-Quellcode:
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;
bei dem hier, was muss ich da bei uses eintragen sry bin noch anfänger
Matthias Hollerbach
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: Bitmap als form für fenster

  Alt 16. Jan 2006, 21:13
TBitmap32 ist eine Klasse der GR32-Lib, du kannst aber genausogut ein TBitmap benutzen.
LoadPNGintoBitmap32(Bit, ExtractFilePath(ParamStr(0)) + 'test.png', Alpha); Hier wird ein PNG mit Alphakanal geladen, diese Zeile musst du dann noch ersetzen.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 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