@inc:
http://www.purebasic.fr/german/viewtopi ... hilit=MP3D
http://www.purebasic.fr/english/viewtop ... hilit=MP3D
Frag mal DrShrek. Da könnte man ja zwei Dinge mit einer Klappe schlagen.
wie PNG Bild mit Alpha Kanal in Rahmenlosem Fenster
Re: wie PNG Bild mit Alpha Kanal in Rahmenlosem Fenster
Habe mich mit MPZ schon unterhalten. Er sagt, es sei nicht möglich auf einen 3D DX Screen Transparenz darzustellen. Er wäre froh wenn einer das hinbekäme und würde dies dann sofort aufnehmen in die LIB.
Wie auch immer. Im Moment habe ich meinen Player soweit, dass ich so viele PNGs anzeigen kann wie ich möchte. Das ganze Fensterlos und so wie ich es wollte.
Nun muss ich die Gatgeds noch dazu bringen, dass sie ebenfalls auf einem PNG angezeigt werden denn ich muss für diverse Grafiken die einen Button darstellen eine Funktion damit verbinden.
Dies tun sie im moment noch nicht.
Grüße
Wie auch immer. Im Moment habe ich meinen Player soweit, dass ich so viele PNGs anzeigen kann wie ich möchte. Das ganze Fensterlos und so wie ich es wollte.
Nun muss ich die Gatgeds noch dazu bringen, dass sie ebenfalls auf einem PNG angezeigt werden denn ich muss für diverse Grafiken die einen Button darstellen eine Funktion damit verbinden.
Dies tun sie im moment noch nicht.
Grüße
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Re: wie PNG Bild mit Alpha Kanal in Rahmenlosem Fenster
mehrere PNG Alpha Transparente Bilder ohne Fenster
Code: Alles auswählen
UsePNGImageDecoder()
EnableExplicit
Enumeration
#window_0
EndEnumeration
;Images
DataSection
pic_1_Start:
IncludeBinary "your_picture.png"
pic_1_End:
EndDataSection
DataSection
MyData1:
IncludeBinary "your_picture.png"
EndOfMyData1:
EndDataSection
DataSection
MyData2:
IncludeBinary "your_picture.png"
EndOfMyData2:
EndDataSection
Procedure WindowBackground(Window.i, Image.i)
Protected WindowID.i = WindowID(0)
Protected ImageID.i = ImageID(Image)
Protected HDC.i = CreateCompatibleDC_(#Null)
Protected Object.i = SelectObject_(HDC, ImageID)
Protected Size.Size
Size\cx = ImageWidth(Image)
Size\cy = ImageHeight(Image)
Protected Point.Point
Protected Blend.BLENDFUNCTION
Blend\SourceConstantAlpha = 255
Blend\AlphaFormat = 1
SetWindowLong_(WindowID, #GWL_EXSTYLE, GetWindowLong_(WindowID, #GWL_EXSTYLE) | #WS_EX_LAYERED)
UpdateLayeredWindow_(WindowID, 0, 0, @Size, HDC, @Point, 0, @Blend, 2)
SelectObject_(HDC, Object)
DeleteDC_(HDC)
EndProcedure
Define pic_1 ; PNG Bild
Define pic_2 ; Bild auf dem gezeichnet wird
Define sprite_1 ; PNG Bild 2
Define sprite_2 ; Bild 2 auf dem gezeichnet wird
Define exit_1 ; PNG Bild 3
Define exit_2 ; Bild 3 auf dem gezeichnet wird
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
OpenWindow(0, 0, 0, 887, 520, "Fenster", #PB_Window_BorderLess | #PB_Window_ScreenCentered );| #PB_Window_Invisible)
Sprite_1 = CatchImage(#PB_Any, ?MyData1, ?EndOfMyData1 - ?MyData1) ; Logo aus dem Speicher laden
Sprite_2 = CreateImage(#PB_Any,887,300,32|#PB_Image_Transparent) ; Bild 2 erstellen
exit_1 = CatchImage(#PB_Any, ?MyData2, ?EndOfMyData2 - ?MyData2) ; Logo aus dem Speicher laden
exit_2 = CreateImage(#PB_Any,50,50,32|#PB_Image_Transparent) ; Bild 3 erstellen
pic_1 = CatchImage(#PB_Any, ?Pic_1_Start, ?Pic_1_End - ?Pic_1_Start) ; Logo aus dem Speicher laden
pic_2 = CreateImage(#PB_Any,887,520,32|#PB_Image_Transparent) ; Bild 1 erstellen
If StartDrawing(ImageOutput(pic_2))
DrawAlphaImage(ImageID(pic_1),0,0,255) ; PNG Bild 1
DrawAlphaImage(ImageID(Sprite_1),0,150,255) ; PNG Bild 2
DrawAlphaImage(ImageID(exit_1),800,0,255) ; PNG Bild 3
StopDrawing()
EndIf
WindowBackground(#window_0, pic_2) ; PNG 2 als Hintergrund verwenden.
Repeat
; Catch Screen with left Mouse Button
Select WaitWindowEvent()
Case #WM_LBUTTONDOWN
SendMessage_(WindowID(0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
Case 258
Break
EndSelect
Select Event
EndSelect
Until event = #PB_Event_CloseWindow
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS