Teď jste offline a čekáte, až se znova připojí internet.

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

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
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.
3.00 3.10 3.50 4.00 win16sdk TrueType

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 74299 - Poslední kontrola: 11/21/2006 15:47:12 - Revize: 3.2

Microsoft Windows Software Development Kit 3.1, Microsoft Win32 Application Programming Interface

  • kbmt kbinfo KB74299 KbMtcs
Váš názor
); -py">Paraguay - Español
Venezuela - Español
mp;t=">?DI=4050&did=1&t="> >>ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>"); >