Desktop zeichnen - transparent
Übersicht

SoraBetreff: Desktop zeichnen - transparent |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
Wenn ich z.B ein transparentes Bild auf den Desktop zeichnen möchte: Code: [AUSKLAPPEN] Local canvas:TGadget=CreateCanvas(100,0,100,100,Desktop())
SetMaskColor( 255,0,255 ) Local bild:TImage= LoadImage("bild.png",MASKEDIMAGE) ... SetGraphics CanvasGraphics(canvas) DrawImage bild,0,0 ... habe ich immer noch den störenden Canvas Hintergrund. Gibt es eine Möglichkeit den Canvas Hintergrund transparent zu bekommen oder muss man für so ein Vorhaben völlig anders vorgehen? |
||
DjDETE |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Geh mal in deinen Blitzplusordner, dort findest du irgendwo ein Beispiel bei den Samples, Slush oder so. Dort wird sowas gemacht.
MfG DeTe Edit: ![]() |
||
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden. |
- Zuletzt bearbeitet von DjDETE am Mi, Dez 03, 2008 14:56, insgesamt einmal bearbeitet
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
DjDETE hat Folgendes geschrieben: Geh mal in deinen Blitzplusordner, dort findest du irgendwo ein Beispiel bei den Samples, Slush oder so. Dort wird sowas gemacht.
MfG DeTe Da ich hier im BlitzMax Forum schreibe, verwende ich auch BlitzMax ![]() |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Man kann nicht direkt auf den Desktop zeichnen. Um Transparenzeffekte zu bekommen, könntest du aber Layered Windows verwenden. Ist allerdings nicht ganz unkompliziert. ![]() |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ChristianK hat Folgendes geschrieben: Man kann nicht direkt auf den Desktop zeichnen. Um Transparenzeffekte zu bekommen, könntest du aber Layered Windows verwenden. Ist allerdings nicht ganz unkompliziert.
![]() Hm schade, aber so etwas komplexes per WinAPi einzubinden ist noch eine Nummer zu groß^^, oder kennst du zufällig irgendeinen Beispielcode? ![]() Sora. |
||
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hätte es ja selbst nicht geglaubt, aber ich habe es nun hinbekommen, danke Christian.
Ein Problem besteht jedoch noch, an der Stelle, an der es auf dem Desktop gezeichnet wird, kann man nicht mehr hinklicken (Icons/Rechtsklick etc.), jemand eine Idee wie man das umgehen könnte? |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann musst du den Wert WS_EX_TRANSPARENT für das Fenster einsetzen. Geht in etwa so:
Code: [AUSKLAPPEN] Local prev:Int = GetWindowLong(fenster, GWL_EXSTYLE)
SetWindowLong(fenster, GWL_EXSTYLE, prev | WS_EX_TRANSPARENT) |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank, Christan! Funktioniert nun perfekt! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group