Fensterhintergrund ein Bild (Image)
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Fensterhintergrund ein Bild (Image)
Ich möchte ein Bild als Fensterhintergrund nehmen.
Dafür benutze ich den PUT-Befehl in anderen Basic-Dialekten. Wie kann ich das hier umsetzen?
Und wie kann ich das Bild der Fenstergröße anpassen?
Dafür benutze ich den PUT-Befehl in anderen Basic-Dialekten. Wie kann ich das hier umsetzen?
Und wie kann ich das Bild der Fenstergröße anpassen?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: Fensterhintergrund ein Bild (Image)
http://www.rsbasic.de/aktualisierung/wi ... 3%BCgen.pb
Die Größe des geladenen Bildes kannst du einfach mit ResizeImage() auf deine Fenstergröße anpassen. Die Größe deines Fensters ermittelst du mit WindowWidth() und WindowHeight().
Die Größe des geladenen Bildes kannst du einfach mit ResizeImage() auf deine Fenstergröße anpassen. Die Größe deines Fensters ermittelst du mit WindowWidth() und WindowHeight().
Re: Fensterhintergrund ein Bild (Image)
<OT>
@stevie1401: Kannst Du in Deine Signatur schreiben, dass Du crossplatform - Lösungen suchst?
</OT>
@stevie1401: Kannst Du in Deine Signatur schreiben, dass Du crossplatform - Lösungen suchst?
</OT>
Hygge
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Fensterhintergrund ein Bild (Image)
Das werde ich tun, sobald ich herausgefunden habe, wie ich das machen kann^^
Das obige Beispiel funktioniert leider nicht unter Linux.
Ich suche IMMER Möglichkeiten bzw. Beispiele, die auf allen Plattformen laufen
Es muss ja nicht unbedingt nur eine Lösung sein.
If Windows
endif
If Linux
endif
If OSX
endif
Das obige Beispiel funktioniert leider nicht unter Linux.
Ich suche IMMER Möglichkeiten bzw. Beispiele, die auf allen Plattformen laufen
Es muss ja nicht unbedingt nur eine Lösung sein.
If Windows
endif
If Linux
endif
If OSX
endif
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Fensterhintergrund ein Bild (Image)
Bild selber anpassen, siehe Posting von RSBasic!
Code: Alles auswählen
EnableExplicit
InitNetwork()
UseJPEGImageDecoder()
Procedure SetWindowBackgroundImage(hWnd.i, hImage.i)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
Protected *Background
Protected FixedBox.i
Protected *Style.GtkStyle
gdk_pixbuf_render_pixmap_and_mask_(hImage, @*Background, 0, 0)
*Style = gtk_style_new_()
*Style\bg_pixmap[0] = *Background
FixedBox = g_list_nth_data_(gtk_container_get_children_(gtk_bin_get_child_(hWnd)), 0)
gtk_widget_set_style_(FixedBox, *Style)
CompilerCase #PB_OS_Windows
Protected hBrush = CreatePatternBrush_(hImage)
If hBrush
SetClassLongPtr_(hWnd, #GCL_HBRBACKGROUND, hBrush)
InvalidateRect_(hWnd, 0, #True)
UpdateWindow_(hWnd)
EndIf
CompilerCase #PB_OS_MacOS
CompilerError "sollte jemand mit Mac hinzufügen!"
CompilerEndSelect
EndProcedure
If ReceiveHTTPFile("http://realsource.de/images/stargate_atlantis.jpg", GetTemporaryDirectory() + "stargate_atlantis.jpg")
LoadImage(0, GetTemporaryDirectory() + "stargate_atlantis.jpg")
OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 450, "")
SetWindowBackgroundImage(WindowID(0), ImageID(0))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Fensterhintergrund ein Bild (Image)
Das Beispiel von ts-soft funktioniert nicht mit einer Demo-Version, aber ich werde mir wohl demnächst die Vollversion bestellen.
Erst einmal muss ich noch herausfinden, ob ich mein Projekt (DokoClient für www.doko-lounge.de mit PB für alle Plattformen erstellen) mit PB überhaupt umsetzen kann.
Dabei hat erste Priorität das Funktionieren, dann kommt das Aufhübschen
Erst einmal vielen Dank!
Erst einmal muss ich noch herausfinden, ob ich mein Projekt (DokoClient für www.doko-lounge.de mit PB für alle Plattformen erstellen) mit PB überhaupt umsetzen kann.
Dabei hat erste Priorität das Funktionieren, dann kommt das Aufhübschen
Erst einmal vielen Dank!
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Fensterhintergrund ein Bild (Image)
Ohne API gehts nicht, Vollversion ist anzuraten
Aber hier schon mal ein Blick darauf:
Gruß
Thomas
Aber hier schon mal ein Blick darauf:
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Re: Fensterhintergrund ein Bild (Image)
Ich habe ts-softs Beispiel um den Mac-spezifischen Teil ergänzt:
Ich möchte übrigens noch eine fehlende Quellenangabe von ts-softs Linux-Teil nachreichen, denn es stammt von mir...
http://www.purebasic.fr/english/viewtop ... 38&start=1
Zu Plattform-unabhängigen Beispielen mit jeweils betriebssystemspezifischen Funktionsaufrufen, die in PureBasic (noch) nicht implementiert sind, habe ich übrigens im englischen Forum eine Sammlung von Lösungen zusammengestellt:
http://www.purebasic.fr/english/viewtop ... 3&start=11
Für MacOS X hat wilbert im englischen Forum eine Lösungssammlung zusammengestellt:
http://www.purebasic.fr/english/viewtop ... 19&t=50795
Und für Linux kann ich nur einen Blick in Charly "Omi" Bauers Sammlung empfehlen:
http://www.chabba.de/ (unter Linux-PureBasic-API)
RSBasic hat in seinem Posting ja schon auf seine riesige WinAPI-Bibliothek für Windows hingewiesen:
http://www.rsbasic.de/winapi-library
Code: Alles auswählen
EnableExplicit
InitNetwork()
UseJPEGImageDecoder()
Procedure SetWindowBackgroundImage(hWnd.i, hImage.i)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
Protected *Background
Protected FixedBox.i
Protected *Style.GtkStyle
gdk_pixbuf_render_pixmap_and_mask_(hImage, @*Background, 0, 0)
*Style = gtk_style_new_()
*Style\bg_pixmap[0] = *Background
FixedBox = g_list_nth_data_(gtk_container_get_children_(gtk_bin_get_child_(hWnd)), 0)
gtk_widget_set_style_(FixedBox, *Style)
CompilerCase #PB_OS_Windows
Protected hBrush = CreatePatternBrush_(hImage)
If hBrush
SetClassLongPtr_(hWnd, #GCL_HBRBACKGROUND, hBrush)
InvalidateRect_(hWnd, 0, #True)
UpdateWindow_(hWnd)
EndIf
CompilerCase #PB_OS_MacOS
CocoaMessage(0, hWnd, "setBackgroundColor:",
CocoaMessage(0, 0, "NSColor colorWithPatternImage:", hImage))
CompilerEndSelect
EndProcedure
If ReceiveHTTPFile("http://realsource.de/images/stargate_atlantis.jpg", GetTemporaryDirectory() + "stargate_atlantis.jpg")
LoadImage(0, GetTemporaryDirectory() + "stargate_atlantis.jpg")
OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 450, "")
SetWindowBackgroundImage(WindowID(0), ImageID(0))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Ich möchte übrigens noch eine fehlende Quellenangabe von ts-softs Linux-Teil nachreichen, denn es stammt von mir...
http://www.purebasic.fr/english/viewtop ... 38&start=1
Zu Plattform-unabhängigen Beispielen mit jeweils betriebssystemspezifischen Funktionsaufrufen, die in PureBasic (noch) nicht implementiert sind, habe ich übrigens im englischen Forum eine Sammlung von Lösungen zusammengestellt:
http://www.purebasic.fr/english/viewtop ... 3&start=11
Für MacOS X hat wilbert im englischen Forum eine Lösungssammlung zusammengestellt:
http://www.purebasic.fr/english/viewtop ... 19&t=50795
Und für Linux kann ich nur einen Blick in Charly "Omi" Bauers Sammlung empfehlen:
http://www.chabba.de/ (unter Linux-PureBasic-API)
RSBasic hat in seinem Posting ja schon auf seine riesige WinAPI-Bibliothek für Windows hingewiesen:
http://www.rsbasic.de/winapi-library
Zuletzt geändert von Shardik am 22.10.2014 21:56, insgesamt 2-mal geändert.
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Fensterhintergrund ein Bild (Image)
Tolles Forum, danke für eure Hilfe!
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Fensterhintergrund ein Bild (Image)
Naja, wenn Du mir dafür Doppelkopf beibringst
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.