Seite 1 von 1

Bildschirm in richtigen Größenseitenverhältnisses darstellen

Verfasst: 07.04.2016 22:09
von northstarex
Moin...

da ich immer nur auf Desktopebene gearbeitet habe... habe ich so einige Fragen bezüglich eines Fullscreens in richtigen Größenseitenverhältnisses.

Also ich will was in 320x200 darstellen, aber es soll in allen Auflösungen richtig, also im richtigen Größenseitenverhältnisses dargestellt werden. Hat da schon wer was fertiges an Script zur Hand?

Den Rest sollte ich hin bekommen... thx :)


Es soll nur eine Grafik geöffnet werden, die per Taste eine weitere Prozedur abarbeitet... ein Dos oder Win Prg startet.... das nur zur Info.

bis denne...
North

Re: Bildschirm in richtigen Größenseitenverhältnisses darste

Verfasst: 08.04.2016 13:00
von Derren
Hier, ich hoffe du kannst was damit anfangen ;)
Du musst eigentlich nur am Anfang des Codes mit den Werten
screenRatio\Width und screenRatio\Height
spielen. Das ist deine Bildschirmauflösung an die sich dein Bild (myRatio) anpasst.

Code: Alles auswählen

Structure AspectRatio
	Width.i
	Height.i
	Ratio.d
EndStructure 

Define myRatio.AspectRatio ; 3:2
myRatio\Width = 300
myRatio\Height = 200
myRatio\Ratio = myRatio\Width / myRatio\Height 

Define screenRatio.AspectRatio ; 16:9
screenRatio\Width = 400
screenRatio\Height = 225
screenRatio\Ratio = screenRatio\Width / screenRatio\Height 


Enumeration 1
	#Vert
	#Hori
EndEnumeration 


If myRatio\Ratio > screenRatio\Ratio 
	Debug "Mein Verhältnis ist länglicher als das des Bildschirms"	
	ScaleFactor.f = screenRatio\Width / myRatio\Width
	Ausrichtung = #Vert
	
ElseIf  myRatio\Ratio < screenRatio\Ratio 
	Debug "Das Bildschirmverhältnis ist länglicher als meines"	
	ScaleFactor.f = screenRatio\Height / myRatio\Height
	Ausrichtung = #Hori
	
ElseIf  myRatio\Ratio = screenRatio\Ratio 
	Debug "Seitenverhätlnisse sind gleich:)"	
	ScaleFactor.f = screenRatio\Width / myRatio\Width ;ODER: screenRatio\Height / myRatio\Height ... in dem Fall egal
	Debug "ScaleFactor" + ScaleFactor
EndIf 


myRatio\Width = myRatio\Width * ScaleFactor
myRatio\Height = myRatio\Height * ScaleFactor

OpenWindow(0, 0, 0, screenRatio\Width, screenRatio\Height, "my Screen", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
SetWindowColor(0, 0)
Select Ausrichtung
	Case #Hori
		x =  (screenRatio\Width - myRatio\Width) / 2
	Case #Vert
		y =  (screenRatio\Height - myRatio\Height) / 2
EndSelect 
ButtonGadget(0, x, y, myRatio\Width, myRatio\Height, "")



Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow

Re: Bildschirm in richtigen Größenseitenverhältnisses darste

Verfasst: 09.04.2016 18:13
von northstarex
cool.... vielen Dank.

ich schau mir das mal an :)

bis denne...
North