Resoluties & fonts (non-linear scaling)

Pagina: 1
Acties:

  • Xymox
  • Registratie: Februari 2002
  • Laatst online: 31-07 10:59

Xymox

Determinism rulez !

Topicstarter
Ik ben opzoek naar een oplossing voor het volgende :

Wij zijn bezig met een applicatie (CRM, geen HTML) die een eigen GUI heeft. Titel-bars wordt getekend, het ziet er niet als een Windows applicatie uit.

De applicatie is bedoelt voor 'simpele' gebruikers, dus windows functionaliteit zoals minimaliseren/maximaliseren, scrollen etc zijn uitgeschakeld. Het is een MDI die het complete scherm bedekt (zonder borders, en zonder titel-balk). De dialogen hebben allemaal een predefined grootte en komen altijd op een bepaalde plek op.

Al jaren wordt er hier gebruik gemaakt van NT4 workstations met een resolutie van 1280*1024. Maar dit jaar nog gaan we over op WindowsXP. De gebruiker kan dan zelf een andere resolutie kiezen (minimaal 1024*768, maximaal 1600*1200).

Aangezien de applicatie ontworpen is voor 1280*1024 en moet gaan draaien in verschillende resoluties moeten we iets verzinnen om de GUI automatisch aan die resolutie te laten aanpassen en wel zodanig dat de gebruiker geen verschil ziet.

Dus als een dialoog exact 50% van het scherm in beslag neemt en exact in het midden staat (in 1280*1024), dan moet dit ook het geval zijn in 1600*1200 !
Het lettertype dat gebruikt wordt in de dialoog moet relatief gezien aan het scherm ook even groot zijn.

De beste manier om dit te doen is denk ik het aanpassen van het font van de dialoog. Daarmee pas je de measure unit aan van de dialoog en hebben de objecten zoals datafields en buttons de juiste grootte en locatie tov elkaar.

Dus bijv.

1280*1024 -> Font X in 10 punten
1600*1200 -> Font X in 14 punten


Allemaal leuk en aardig, maar de resoluties hebben een vreemde verhouding tot elkaar. Blijkt dat de puntgroottes van de fonts niet lineair meeschalen met de resolutie waardoor de dialogen toch net verschillen in grootte en de GUI dus niet correct op het scherm wordt afgebeeld.

Dus over deze situatie een aantal vraagjes.

Wie heeft ervaring met deze materie en heeft wat tips ?

Bestaan er speciale fonts die ontworpen zijn voor gebruik in verschillende resoluties met behoud van aspect ratio tov het scherm ?

Een mogelijkheid is een truetype font te kiezen en met een converter daar specifieke bitmap fonts van te maken die exact de juiste puntgrootte hebben voor gebruik in specifieke resoluties. Is dit te doen ?

ps.
Ik weet, het is vreemd dat een applicatie in een windows omgeving een fixed GUI heeft, maar je moet het zien als een GUI zoals in de DOS omgeving maar dan met windows elementen die er in verschillende resoluties altijd exact eender uitziet.
WYSIWYG !

Intel i9-9900K | MSI MPG Z390 Gaming Pro Carbon | MSI RTX 2080Ti Gaming X Trio | Ballistix Sport LT (32GB) | MSI Optix MAG274QRF-QD 1440p | Samsung 970 EVO Plus (2TB) | NZXT Kraken X52 | Valve Index | Fractal Design R6 | Synology DS420j


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Degene die dat bedacht heeft snapt het er ook niets van ;)
Er zijn twee redenen om je resolutie te verhogen. De eerste is dat je minder korreligheid bij beeldbewerking en gaming. De tweede is dat je meer ruimte hebt om informatie kwijt te kunnen op het scherm.

Aangezien het hier om een simpele GUI gaat is de 2e variant dus van toepassing. Waarom dan in hemelsnaam de applicatie met de resolutie meeschalen? Als elke developer dat zou doen, dan heeft het ook weinig nut om je resolutie hoger in te stellen: je schiet er toch niets mee op!

En als ik een applicatie tegen kom die dat wel doet dan schop ik die ook gelijk de deur uit, daar ga ik echt niet mee werken. Goed, maar dat ben ik ;)

Sorry, verder geen inhoudelijke reactie op je topic :Y)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Denk er ook aan dat je de resolutie aanpast aan de grootte van je scherm. Bij wijze van spreken is 1024x768 op 17" hetzelfde als 1280x1024 op 19". Wanneer je de applicatie meeschaalt met de resolutie, dan wordt alles relatief gezien groter.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 03 juni 2003 @ 11:10:
Denk er ook aan dat je de resolutie aanpast aan de grootte van je scherm. Bij wijze van spreken is 1024x768 op 17" hetzelfde als 1280x1024 op 19".
Behalve dan dat 1024x768 een 4:3 verhouding heeft is en 1280x1024 5:4 ;)
Ook nog iets waar je rekening mee moet houden dus, de verhouding van je scherm (ik geloof dat 17" TFT schermen wel een 5:4 verhouding hebben door hun native resolutie van 1280x1024)

Overigens komt 1152x864 beter overheen op een 19"
Het aantal horizontale pixels per inch met 1024 op 17" is ongeveer 60.23
Als je dat schaalt naar 19" dan kom je op 1144.47 pixels. Daar komt nog bij dat het aantal inch niet precies is, plus dat het scherm meestal iets bol staat. Maar 1152x864 is een instelbare resolutie op de meeste videokaarten, dus die voldoet beter (60.63 horizontale pixels per inch)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.