INFORMACE: Výpočet uvedené Logická výška a bod velikosti písma

Překlady článku Překlady článku
ID článku: 74299 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Vytvořit v grafickém prostředí systému Windows udělena pouze požadovaná velikost písma, musí aplikace vypočítat Logická výška písmo, protože funkce CreateFont() a CreateFontIndirect() pomocí logických jednotek určit výšku.

K popisu písmo uživateli, může aplikace vypočítat velikost bodu na písmo dané jeho výška. Tento článek obsahuje vzorce nutná k provedení těchto výpočtů pro režim mapování MM_TEXT. Máte k odvození nového Rovnice pro výpočet velikosti písma v jiném režimu mapování.

Další informace

Vypočítat logické výšku, použijte následující vzorec:
                                Point Size * LOGPIXELSY
   height = Internal Leading + -------------------------
                                          72
				
LOGPIXELSY je počet pixelů obsažené v logický palec na zařízení. Tato hodnota je získat voláním funkce GetDeviceCaps() s indexem LOGPIXELSY. Hodnota 72 je významná, protože obsahuje jeden palec 72 bodů.

Problém s Tento výpočet je, že je určení vnitřní úvodní písma, protože jej nebyla dosud vytvořena žádná metoda. Chcete-li tento potíže vyřešit, použijte následující variantu vzorec:
            -(Point Size * LOGPIXELSY)
   height = --------------------------
                         72
				
tento vzorec může také být zapsána následující:
   plf->lfHeight = -MulDiv (nPtSize, GetDeviceCaps (hdc, LOGPIXELSY), 72);
				
aplikace volá CreateFont() nebo CreateFontIndirect() funguje a určuje záporná hodnota parametru výšku písma mapovače poskytuje nejbližší odpovídající formu pro výšku znak spíše než výška buňky. Rozdíl mezi výška buňky a výšku znak je vnitřní úvodní, jako je znázorněn na následujícím diagramu:
   ----------  <------------------------------
   |        |           |- Internal Leading  |
   | |   |  |  <---------                    |
   | |   |  |        |                       |- Cell Height
   | |---|  |        |- Character Height     |
   | |   |  |        |                       |
   | |   |  |        |                       |
   ----------  <------------------------------
				
velikost bodu písmo vypočítá následující vzorec:
                (Height - Internal Leading) * 72
   Point Size = --------------------------------
                           LOGPIXELSY
				
the výška a interní úvodní hodnoty jsou získávány z struktury dat TEXTMETRIC. Hodnota LOGPIXELSY je získán z funkce GetDeviceCaps, jak je popsáno výše.

Zaokrouhlení na vypočítané přejděte velikost na nejbližší celé číslo. Funkce Windows MulDiv() zaokrouhlí jeho výsledku a je vynikající voleb provedení předchozí výpočtu.

Vlastnosti

ID článku: 74299 - Poslední aktualizace: 21. listopadu 2006 - Revize: 3.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32 Application Programming Interface na těchto platformách
    • Microsoft Windows NT Server 3.5
    • 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
Klíčová slova: 
kbmt kbinfo KB74299 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:74299

Dejte nám zpětnou vazbu

 

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