Seite 1 von 3
WindowedScreen - Auflösung ändern...
Verfasst: 23.03.2009 00:34
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...
Verfasst: 23.03.2009 00:39
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
Verfasst: 23.03.2009 00:43
von Kevin
ja so:
Code: Alles auswählen
closescreen()
openwindowedscreen(........);neuer screen
Verfasst: 23.03.2009 00:57
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...
Verfasst: 23.03.2009 01:25
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...
Verfasst: 23.03.2009 01:53
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
Verfasst: 23.03.2009 02:06
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...
Verfasst: 23.03.2009 03:03
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.
Verfasst: 23.03.2009 18:42
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...
Verfasst: 23.03.2009 19:33
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.