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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.004 c
2-1242899868
Int23
2009-05-21 13:57
2009.07.12
Как скопировать содержимая TBitmap в Pointer


2-1243107805
Dot
2009-05-23 23:43
2009.07.12
запись значения из таблицы в переменную


2-1242724147
siealex
2009-05-19 13:09
2009.07.12
Отследить цифру в окне стороннего приложения и нажать в нем же


2-1242884041
Int23
2009-05-21 09:34
2009.07.12
Не работает Cocreateinstance


15-1241988586
Германн
2009-05-11 00:49
2009.07.12
И второй раз подряд мы их сделали!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский