WindowedScreen - Auflösung ändern...

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

WindowedScreen - Auflösung ändern...

Beitrag von KeyKon »

Vll hab ich mich nur beim suchen blöde angestellt, aber gibt es eine Möglichkeit den WindowedScreen so zu schalten das er beim Resizen des Windows nicht einfach gestreckt wird sondern seine Auflösung dem Fenster anpasst, also quasi mehr oder weniger anzeigt?
Es geht mir dabei nur um Windows...
(\/) (°,,,°) (\/)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Einfach n größeren Screen machen:

Code: Alles auswählen

InitSprite()

OpenWindow(0, 0, 0, 200, 200, "SCREEN", #PB_Window_SizeGadget|#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 2048, 1536, 0, 0, 0)
 
Repeat

 ClearScreen(0)
 
 StartDrawing(ScreenOutput())
  DrawingMode(1)
  For n = 1 To 9
   DrawText(n*100,n*100,Str(n*100), $FFFFFF)
  Next
 StopDrawing()

 FlipBuffers()

Until WindowEvent() = #PB_Event_CloseWindow    
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kevin
Beiträge: 236
Registriert: 11.06.2007 12:55

Beitrag von Kevin »

ja so:

Code: Alles auswählen

closescreen()
openwindowedscreen(........);neuer screen
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Resizen eines Screens ist nicht vorgesehen.

also, wie von STARGÅTE vorgeschlagen, den Screen auf maximaler Größe erstellen.


... allerdings ist das auch bei Games nicht unbedingt üblich, viele müssen neustarten, wenn man die Auflösung ändert...

Kevins Vorschlag hat ja den Nachteil, dass man den gesamten Content wieder laden müßte,
aber das wäre eine durchaus gebräuchliche Vorgehensweise...


was willst du denn überhaupt machen?
evtl. gibts ja völlig andere alternative Ansätze...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Stargates Ansatz is im Prinzip schon das richtige, wenn man dann noch die alle Anzeigebefehle dahingehend ausfiltert wie groß das Fenster is sollte die Performance auch nich so arg leiden...
Es geht mir lediglich darum das Resizen des Fensters zu ermöglichen ohne die hässlichen Resizeeffekte, da der Content eh dynamich für jede Auflösung gezeichnet werden kann...
(\/) (°,,,°) (\/)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

was meinst du mit
> ohne die hässlichen Resizeeffekte
?

wenn du unterschiedliche Seitenverhältnisse vermeiden willst, wäre es auch möglich,
den Screen in ein ContainerGadget zu packen, dessen Seitenverhältnis du gleich hältst.
lediglich das Inputhändling musst du dann anpassen...

Beispiel:
http://www.purebasic.fr/english/viewtop ... 743#273743
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Darum gehts mir nicht, mir gehts ums Pixel zu Pixel...
Und das is wohl oder übel nur so machbar wie es Stargate gezeigt hat...
(\/) (°,,,°) (\/)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

fürs direkte Ändern wäre eventuell sogar der Ansatz mit neu öffnen ganz gut geeignet.

je nachdem was es werden soll; für eine Anwendung, die Pixelgenau darstellen soll,
aber nicht zu viel variablen Inhalt hat mit nicht sonderlich hoher Framerate,
würde ich ggf. sogar eine Image-Lösung vorziehen.

Ich mache mir ständig Gedanken über unterschiedlichste Konzepte und Realisierbarkeiten,
wie du ja auch am thread im Englischen erkennen kannst.

mich würden deine Überlegungen durchaus interessieren.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Bei mir geht es um die Visualisierung einer Simulation bei der der Screen gescrollt werden kann, die sollte schon Pixel zu Pixel sein und auch mit vollen FPS laufen...
(\/) (°,,,°) (\/)
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

KeyKon hat geschrieben:Bei mir geht es um die Visualisierung einer Simulation bei der der Screen gescrollt werden kann, die sollte schon Pixel zu Pixel sein und auch mit vollen FPS laufen...
Falscher Denkansatz. Du scrollst nicht den Screen sondern den Inhalt. So funktioniert es bei OS-Fenstern ebenfalls. Dies kann ein Bild sein oder eine Datenmatrix wie bspw. bei einem MapEditor.
Zuletzt geändert von Fluid Byte am 23.03.2009 19:51, insgesamt 1-mal geändert.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten