Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Вниз

проблемы с DrawText()   Найти похожие ветки 

 
antonn ©   (2006-04-03 13:08) [0]

при включении в WinXP сглаживание шрифтов методом ClearType (да и при "обычном", наверно, тоже), текст, отрисованый на канве с помощю DrawText() "подрезается" слева. Например буква "Д": отрисованная шрифтом tahoma 8 левая нижняя "ножка" имеет тощину 2 пикселя. Первая такая "Д" подрезается, и ножка получает толщину 1 пиксел, последующие Д имеют по 2 пиксела толщину. Все бы ничего, но это визуально заметно и нервирует. Более того, у подрзанной буквы свет текста в месте среза немного "сбивается", т.е. немного отличается от основного, краснее или зеленее.
Вопрос - как от этого избавиться? :)

ЗЫ При отрисовки текста canvas.textout() все нормально... Но мне нужно рисовать текст, вписывая его в определенную ширину с авто переносами.


 
antonn ©   (2006-04-03 14:42) [1]

или подскажите вариант, как в TStrings получить текст, который разделен построчно как в функции DrawText() с опцией DT_EXPANDTABS. Я тогда textout"ом выведу:)


 
Leonid Troyanovsky ©   (2006-04-03 18:19) [2]


> antonn ©   (03.04.06 14:42) [1]

> разделен построчно как в функции DrawText() с опцией DT_EXPANDTABS.
>  Я тогда textout"ом выведу:)


Дык, а куда ты его выводишь? Может, просто контрол другой взять,
скажем, листбокс или грид.

--
Regards, LVT.


 
antonn ©   (2006-04-03 18:40) [3]

на битмап я текст вывожу, не на контрол.
Вообще, вся чехарда эта была затеяна из-за того, что мне нужно было на 32х битным битмап вывести текст, причем под текстом альфаканал был бы = 255. А оказалось, что при выводе на такой битмап, что canvas.textout(), что DrawText() по всей площади вывода альфаканал вообще сбрасывался на 0. Вот создал промежуточный битмап (pf24bit), и выводил на него, и с него копировал на 32 битный. А тут эта проблема с обрезанными буквами, все думал, что сам не то делал... Но спасибо неизвестному ZEE с http://forum.sources.ru/, что посоветовал в св-ва вывода добавить DT_NOCLIP - помогло:)



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
4-1143729970
oleon
2006-03-30 18:46
2006.07.09
Программа логирования запуска ScreenSaver.


15-1149869397
dimodim
2006-06-09 20:09
2006.07.09
AT2ATX


15-1150119141
[wl]
2006-06-12 17:32
2006.07.09
оффлайн-клиент IPB-форума


3-1147116316
Галинка
2006-05-08 23:25
2006.07.09
Сохранить массив в БД


1-1148490903
pirate
2006-05-24 21:15
2006.07.09
Быстрый доступ к файлу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский