Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.12;
Скачать: CL | DM;

Вниз

Объясните пож про сглаживание?   Найти похожие ветки 

 
Nil   (2009-05-14 15:42) [0]

1. Как сглаживание относится к выводу текста на канву? Почему при включении в винде эффекта сглаживания, эффект проявляется не только на стандартных лэйблах и прочих текстовых компонентах, но и на тексте который я рисую на канве стринггрида?

2. Как бы так научиться рисовать сглаженным шрифтом на канве, если в системе сглаживание выключено?


 
Сергей М. ©   (2009-05-14 16:24) [1]


> 1. Как сглаживание относится к выводу текста на канву?


Прямым образом - вывод текста на канву сводится к выводу оного на ассоциированный с канвой DC средствами штатных WinAPI-функций a-ля TextOut, работа которых зависит от состояния включенности системного сглаживающего фильтра.

Вот обсуждение похожей задачи

http://forum.vingrad.ru/topic-223272.html


 
Nil   (2009-05-19 14:16) [2]

спасибо!! много интересного узнал

для канваса так:
Fnt: TLogFont;
....
     Font.Name := "Arial";
     Font.Size := 10;
     Font.Style := [fsBold];
     Font.Color := clBlack;
     Brush.Color:=$00f3ede8;

     GetObject(Font.Handle, SizeOf(TLogFont), @Fnt);
     Fnt.lfQuality := 5;
     Font.Handle := CreateFontIndirect(Fnt);

     TextOut(Rect.Left + 46, Rect.Top+7, St);

с канвасом раборался, а вот с TLabel что-то не никак.. я думаю проблема в том что устанавливать ClearType качество при рисовании на канвасе приходится прямо перед TextOut. Любое изменение свойств шрифта через Canvas.Font... сразу сбрасывает lfQuality..
может кто решал проблему? как быть с TLabel если нужен ClearType на нём?..


 
Amoeba ©   (2009-05-19 15:44) [3]


> как быть с TLabel если нужен ClearType на нём?..

Элементарно! Написать свой компонент - наследник от TLabel и перекрыть в нем метод выполняющий отрисовку.


 
Nil   (2009-05-19 16:30) [4]

очень не хочется лишние сторонние компоненты за собой в проект тащить.. может есть какие-нибудь такие же волшебные 3 строчки для tlabel, подобно примеру выше для канвы?


 
Amoeba ©   (2009-05-19 17:14) [5]


> может есть какие-нибудь такие же волшебные 3 строчки для
> tlabel

Чудес не бывает.


 
Amoeba ©   (2009-05-19 17:50) [6]

Решение задачи "малой кровью":
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1367
Но свой компонент писать все равно придется.


 
Nil   (2009-05-19 21:58) [7]

то что надо! спасибо, буду пробовать..



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

Текущий архив: 2009.07.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
2-1243053502
Чипырик
2009-05-23 08:38
2009.07.12
Как узнать выбранный уровень в TreeView


15-1242105022
otan
2009-05-12 09:10
2009.07.12
Доступ к данным парадокса формата *.MB


9-1181045233
MERLIN:)
2007-06-05 16:07
2009.07.12
Шрифты для игры


15-1241426831
Student
2009-05-04 12:47
2009.07.12
Контроль версий


15-1241883974
@!!ex
2009-05-09 19:46
2009.07.12
Как отследить изменение памяти?