INFO: Berekening van de gebieden van vette en cursieve tekst tekst

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 74298 - Bekijk de producten waarop dit artikel van toepassing is.
Dit artikel is gearchiveerd. Het wordt aangeboden in de huidige vorm en wordt niet meer bijgewerkt.
Alles uitklappen | Alles samenvouwen

Samenvatting

GetTextExtent() kan worden gebruikt voor het berekenen van de omvang van een tekenreeks. De waarde gegeven moet worden aangepast, afhankelijk van de stijl van het lettertype. Wanneer een lettertype vet of cursief wordt verzocht en geen beschikbaar is, zijn de Graphics Device Interface (GDI) kunnen met een bestaande opmaakprofielen simuleren raster- of lettertype.

Meer informatie

GDI gesimuleerde vette en cursieve lettertypen beide bevatten voor-en achteroverbouw. De Achteroverbouw is opgegeven in de structuur van een TEXTMETRIC verkregen door de functie GetTextMetrics . De juiste methode voor de berekening van de de omvang van een regel tekst vet of cursief wordt hieronder weergegeven:
   dwExtent = GetTextExtent(hDC, lpString, nCount);
   GetTextMetrics(hDC, &tm);
   xExtent = LOWORD(dwExtent) - tm.tmOverhang;
				
Hieronder volgen voorbeelden van cursieve tekst uitlijnen. Als de volgende teken niet cursief is, de overhang moet niet worden afgetrokken. van het voorschot breedte geretourneerd door de functie GetTextExtent . De Achteroverbouw moet worden afgetrokken alleen wanneer de volgende tekst uitlijnen teken heeft de dezelfde stijl.
                                        GetTextExtent yields
                                        this as the extent:

                                              ||
       /   /                                  \/ 
      /   /           /   / /   /         /   /|   |
     /---/           /   / /   /         /   / |   |
    /   /           /---/ /---/         /---/  |---|
   /   /           /   / /   /         /   /   |   |
       -----      /   / /   /         /   /    |   |
         ^            /\                      /\ 
      Overhang        ||                      ||
               Because the next        Start the nonitalic H
               character is italic,    here because it does not
               start the next          slant and would partially
               character within the    overwrite the previous
               overhang of the         italic character.
               current character
				
De overhang voor vette tekens gemaakt door GDI is meestal 1 omdat GDI synthesizes vette lettertypen door de tekst tweemaal uitvoeren compensatie van de tweede uitvoer met één pixel vergroten effectief de de breedte van elk teken één pixel. Berekening van het voorschot breedte van de vette tekst is vergelijkbaar met de methode voor cursieve tekst. De De functie GetTextExtent retourneert altijd de omvang van de tekst plus 1 vette tekst. Dus door te trekken van de tmOverhang(1) de juiste voorschot wordt bereikt.
        ||   ||
        ||   ||
        ||===||
        ||   ||
        ||   ||
              ---<= This line represents the "extra" overhang of 1.
                /\ 
                ||
             GetTextExtent yields
             this as the extent of the
             bold H.
				
Opmerking: dit artikel geldt alleen voor Raster- en Vectory lettertypen. De familie GetTextExtent() functies altijd terug voorschot breedten van tekenreeksen voor TrueType-lettertypen, zoals beschreven door ABC breedten structuur. Raadpleeg de documentatie van de functie GetCharABCWidths() voor meer informatie over de breedte van ABC voorschot.

Eigenschappen

Artikel ID: 74298 - Laatste beoordeling: donderdag 27 februari 2014 - Wijziging: 4.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32-API op de volgende platformen
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows NT Workstation 4.0 Developer Edition
Trefwoorden: 
kbnosurvey kbarchive kbinfo kbmt KB74298 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende: 74298

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com