Главная страница
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.013 c
15-1242186290
vajo
2009-05-13 07:44
2009.07.12
Насколько должны быть одинакова CPU на 2хпроц-й М/B


2-1242810369
И. Павел
2009-05-20 13:06
2009.07.12
Как создать письмо, содержащее несколько строк?


2-1242818112
evgenij
2009-05-20 15:15
2009.07.12
Получить текст вводимый в DBGrid


3-1223466967
opoloxai
2008-10-08 15:56
2009.07.12
DataSet в DataSet


2-1242992535
LSDxLove
2009-05-22 15:42
2009.07.12
программа чтения характеристик и просмотра графических bmp файлов