ИНФОРМАЦИЯ: Расчет размеры текста, текста в полужирный и курсивный

Переводы статьи Переводы статьи
Код статьи: 74298 - Vizualiza?i produsele pentru care se aplic? acest articol.
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Развернуть все | Свернуть все

Аннотация

GetTextExtent()можно использовать для вычисления степени строки. Возвращаемое значение может возникнуть необходимость быть скорректирована, в зависимости от стиля шрифта. При запросе курсивом или жирным шрифтом, и нет, интерфейс графических устройств (GDI) может имитировать эти стили с помощью существующих растровых или векторных шрифтов.

Дополнительная информация

Имитация GDI полужирного и курсивного начертания шрифтов и включают overhangs. Согласно выступаTEXTMETRICструктуры, получаемому путем вызоваGetTextMetricsfunction:. Ниже приводится правильный метод расчета степени строки текста курсивом или жирным шрифтом.
   dwExtent = GetTextExtent(hDC, lpString, nCount);
   GetTextMetrics(hDC, &tm);
   xExtent = LOWORD(dwExtent) - tm.tmOverhang;
				
Ниже перечислены примеры выравнивания текста курсивом. Если следующий знак не является курсивом, выступ не должен быть вычитается из заранее ширины, возвращенныйGetTextExtentfunction:. Выступ должен быть вычтен только после следующего символа выравнивания текста имеет тот же стиль.
                                        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
				
Выступ для полужирного начертания символов, созданным интерфейсом GDI обычно является 1, так как GDI синтезирует полужирного начертания шрифтов дважды вывод текста, смещение второго выходные данные на один пиксел, эффективно увеличить ширину каждого символа на один пиксел. Ширина заранее полужирным шрифтом похож на метод курсивного текста. надписьюGetTextExtentфункция всегда возвращает объем текста, а также пакет обновлений 1 для полужирного текста. Таким образом путем вычитания tmOverhang(1), обеспечивается правильное заранее.
        ||   ||
        ||   ||
        ||===||
        ||   ||
        ||   ||
              ---<= This line represents the "extra" overhang of 1.
                /\ 
                ||
             GetTextExtent yields
             this as the extent of the
             bold H.
				
Примечание.: В данной статье применима только к Vectory шрифты и растровое изображение. надписьюGetTextExtent()Семейство функции всегда возвращают заранее ширины строк для шрифтов TrueType, как описано в структуре ширины ABC. Для получения дополнительных сведений о ABC заранее ширины см.GetCharABCWidths()Документация по функции.

Свойства

Код статьи: 74298 - Последний отзыв: 21 февраля 2014 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32 Application Programming Interface на следующих платформах
    • операционная система 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
Ключевые слова: 
kbnosurvey kbarchive kbinfo kbmt KB74298 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: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