GDI вывод текста

Тема в разделе "LANGS.C", создана пользователем AlexCasual, 23 янв 2012.

  1. AlexCasual

    AlexCasual New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2009
    Сообщения:
    120
    Как вывести текст средствами gdi таким образом,чтобы буквы не были закрашены внутри,то есть был чисто контур буквы?
     
  2. kernel16

    kernel16 Human Vl

    Публикаций:
    0
    Регистрация:
    29 окт 2010
    Сообщения:
    316
    1) берём другой DC(создаём(CreateCompatibleDC)), рисуем на нём буквы с розовым фоном
    2) через TransparentBlt копируем буквы на нужный нам дк
    3)освобождаем дк из 1ого пункта.
    и там качество шрифта должно быть, наверное, среднее, иначе он будет сглаживать фон и сами буквы, что приведёт к нежелательному "свечению" букв


    add:
    чтобы временный дк был нужного размера, надо в него выбрать(SelectObject) совместимую битмап с нужным размером(CreateCompatibleBitmap)
    add2: GetTextExtentPoint32 - узнать размер текста, который он займёт
     
  3. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    BeginPath, рисуем, EndPath, StrokePath (для растровых шрифтов не прокатит).
     
  4. AlexCasual

    AlexCasual New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2009
    Сообщения:
    120
    Может кто сталкивался - перехватываю вывод на экран через функции GDI,например,вывод текста ExtTextOut() с координатами X,Y...Хочу потом этот текст записать в pdf,сохранив форматирование,то есть сохранив положение текста(X,Y) - получаю не совсем верную картину,иногда между выводимыми словами наблюдаются большие отступы(пробелы),я думал,что это из-за неправильного выбора размера шрифта,но потом пришёл к выводу,что проблема шире...Кто что посоветует по этому поводу?
     
  5. kernel16

    kernel16 Human Vl

    Публикаций:
    0
    Регистрация:
    29 окт 2010
    Сообщения:
    316
    ну в том софте,скорее всего, текст выводится на совместимый контекст устройства, а потом уже на реальный DC(BitBlt). и рисоваться он может во временном к.у. в другом месте.