Lezen in het Engels

Delen via


Koppelmodi en vertalingen

De koppelingsmodi zijn beschreven in de volgende tabel.

Koppelmodus Beschrijving
MM_ANISOTROPIC Elke eenheid in de paginaruimte wordt toegewezen aan een toepassingsspecifieke eenheid in apparaatruimte. De as kan al dan niet gelijkmatig worden geschaald (een cirkel die in de wereldruimte is getekend, kan bijvoorbeeld een ellips lijken wanneer deze op een bepaald apparaat wordt weergegeven). De stand van de as wordt ook opgegeven door de toepassing.
MM_HIENGLISH Elke eenheid in de paginaruimte wordt omgezet naar 0,001 inch in de apparaatruimte. De waarde van x neemt toe van links naar rechts. De waarde van y neemt toe van beneden naar boven.
MM_HIMETRIC Elke eenheid in de pagina-ruimte wordt omgezet naar 0,01 millimeter in apparaat-ruimte. De waarde van x neemt toe van links naar rechts. De waarde van y neemt toe van beneden naar boven.
MM_ISOTROPIC Elke eenheid in paginaruimte wordt toegewezen aan een toepassingsgedefinieerde eenheid in apparaatruimte. De assen worden altijd gelijk geschaald. De richting van de assen kan worden opgegeven door de toepassing.
MM_LOENGLISH Elke eenheid in de paginaruimte wordt toegewezen aan 0,01 inch in apparaatruimte. De waarde van x neemt toe van links naar rechts. De waarde van y neemt toe van beneden naar boven.
MM_LOMETRIC Elke eenheid in de paginaruimte wordt toegewezen aan 0,1 millimeter in apparaatruimte. De waarde van x neemt toe van links naar rechts. De waarde van y neemt toe van beneden naar boven.
MM_TEXT Elke eenheid in de paginaruimte wordt toegewezen aan één pixel; Dat wil gezegd, er wordt helemaal geen schaalaanpassing uitgevoerd. Wanneer er geen vertaling van kracht is (dit is de standaardinstelling), is de paginaruimte in de MM_TEXT toewijzingsmodus gelijk aan de fysieke apparaatruimte. De waarde van x neemt toe van links naar rechts. De waarde van y neemt toe van boven naar beneden.
MM_TWIPS Elke eenheid in de paginaruimte komt overeen met een twintigste van een printerpunt (1/1440 inch). De waarde van x neemt toe van links naar rechts. De waarde van y neemt toe van beneden naar boven.

 

Als u een toewijzingsmodus wilt instellen, roept u de SetMapMode--functie aan. Haal de huidige toewijzingsmodus voor een domeincontroller op door de functie GetMapMode aan te roepen.

De transformaties van de paginaruimte naar apparaatruimte bestaan uit waarden die worden berekend op basis van de punten die door het venster en de viewport zijn opgegeven. In deze context verwijst het venster naar het logische coördinatensysteem van de paginaruimte, terwijl de viewport verwijst naar het coördinaatsysteem van het apparaat van de apparaatruimte. Het venster en de viewport elk bestaan uit een oorsprong, een horizontaal (x)-gebied en een verticale ('y')-omvang). De vensterparameters bevinden zich in logische coördinaten; de viewport in apparaatcoördinaten (pixels). Het systeem combineert de oorsprongen en bereiken van zowel het venster als de viewport om de transformatie te realiseren. Dit betekent dat het venster en de viewport elk de helft van de factoren opgeven die nodig zijn om de transformatie te definiëren die wordt gebruikt om punten vanuit de paginaruimte op apparaatruimte toe te wijzen. Het systeem wijst dus de oorsprong van het venster toe aan de oorsprong van de viewport en de venster-uitbreidingen naar de viewport-uitbreidingen, zoals wordt weergegeven in de volgende afbeelding.

afbeelding met een oorsprong van het venster in de paginaruimte en een oorsprong van het gezichtspunt in apparaatruimte

In de omvang van vensters en viewports wordt een verhoudings- of schaalfactor bepaald die wordt gebruikt in transformaties van paginaruimte naar apparaatomgeving. Voor de zes vooraf gedefinieerde toewijzingsmodi (MM_HIENGLISH, MM_LOENGLISH, MM_HIMETRIC, MM_LOMETRIC, MM_TEXT en MM_TWIPS), worden de gebieden ingesteld door het systeem wanneer SetMapMode wordt aangeroepen. Ze kunnen niet worden gewijzigd. Voor de andere twee afbeeldingsmodi (MM_ISOTROPIC en MM_ANISOTROPIC) moeten de afmetingen worden opgegeven. Dit wordt gedaan door SetMapMode- aan te roepen om de juiste modus in te stellen en vervolgens de functies SetWindowExtExtEx en SetViewportExtEx aan te roepen om de gebieden op te geven. In de MM_ISOTROPIC toewijzingsmodus is het belangrijk om SetWindowExtEx aan te roepen voordat u SetViewportExtExaanroept.

Het venster en de viewport-origins bepalen de vertaling die wordt gebruikt in de paginaruimte naar apparaatruimtetransformaties. Stel het venster en viewport origins in met behulp van de functies SetWindowOrgEx en SetViewportOrgEx. De oorsprongen zijn onafhankelijk van de gebieden en een toepassing kan deze instellen, ongeacht de huidige toewijzingsmodus. Het wijzigen van een toewijzingsmodus heeft geen invloed op de momenteel ingestelde oorsprongen (hoewel het wel de uitbreidingen kan beïnvloeden). Oorsprongen worden opgegeven in absolute eenheden die niet door de huidige toewijzingsmodus worden beïnvloed. Als u de oorsprongen wilt wijzigen, gebruikt u de functies OffsetWindowOrgEx en OffsetViewportOrgEx.

In de volgende formule ziet u de wiskundige berekeningen die betrokken zijn bij het converteren van een punt van de paginaruimte naar de apparaatruimte.

Dx = ((Lx - WOx) * VEx / WEx) + VOx 

De volgende variabelen zijn betrokken.

Dx     x value in device units 
Lx     x value in logical units (also known as page space units) 
WOx     window x origin 
VOx     viewport x origin 
WEx     window x-extent 
VEx     viewport x-extent 

Dezelfde vergelijking met y die x vervangt, transformeert het y-onderdeel van een punt.

De formule verschuift eerst het punt van de coördinatenoorsprong. Deze waarde, niet langer veranderd door de oorsprong, wordt vervolgens geschaald in het bestemmingscoördinatensysteem door de verhouding van de omvang. Ten slotte wordt de geschaalde waarde verschoven door de doeloorsprong naar de uiteindelijke toewijzing.

De LPtoDP-- en DPtoLP--functies kunnen worden gebruikt om respectievelijk van logische punten naar apparaatpunten en van apparaatpunten naar logische punten te converteren.