Главная страница
    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.011 c
2-1150339171
Василий
2006-06-15 06:39
2006.07.09
Запуск внешнего приложения внутри формы.


2-1150562857
Yastreb
2006-06-17 20:47
2006.07.09
Как добавить свою иконку в traybar


2-1151083509
resuS
2006-06-23 21:25
2006.07.09
SOCKS прокси сервер 4/5


1-1148564081
Volf_555
2006-05-25 17:34
2006.07.09
Восстановление TRAY-значка


15-1149946432
Цукор5
2006-06-10 17:33
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский