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

Вниз

Окантовка текста   Найти похожие ветки 

 
Познающий   (2007-05-21 23:03) [0]

Подскажите пожалуйста как быстро и красиво отрисовать текст с окантовкой?

Думал сканлине и анализировать но тут мысль появилась перед выводом текста выводить 4 раза цветом окантовки этот же текст со смещением на пиксел\два в разные стороны.

Пока ещё код не писал, тока прикидываю,
может у кого есть опыт, поделитесь плиз...


 
{RASkov} ©   (2007-05-21 23:23) [1]

> выводом текста выводить 4 раза цветом окантовки

Тогда уж 8 раз...


 
Познающий   (2007-05-21 23:33) [2]

всмысле кроме лево, верх, право, низ ещё и
лево-верх, верх-право, право-низ, низ-лево
так?

хм...
что-то мне подсказывает что и при 8 выводах будут рваные края

хотя мне скорость нужна вывода, не работал никогда с графикой,
интересно через scanline с анализом границ быстрее будет или нет.

спасибо насчёт 8, не подумал ;)


 
Amoeba ©   (2007-05-22 12:02) [3]


> отрисовать текст с окантовкой?

Поясни, что именно следует понимать под окантовкой? А то телепатор перегревается.


 
Однокамушкин   (2007-05-22 12:24) [4]

Вообще такие вещи делаются по-другому...
Сначала создаётся путь на основе текста: BeginPath/TextOut/EndPath
Потом он превращается в регион: PathToRegion
Ну а потом этот регион заполняется и окаймляется: StrokeAndFillRegion. Для окантовки можно выбрать перо с неединичной шириной...

Правда, красиво это смотрится только при больших шрифтах...


 
Джо ©   (2007-05-22 13:42) [5]

> [4] Однокамушкин   (22.05.07 12:24)

> Потом он превращается в регион: PathToRegion
> Ну а потом этот регион заполняется и окаймляется: StrokeAndFillRegion.

Вовсе не обязательно переводить путь в регион. Есть StrokeAndFillPath.


 
Познающий   (2007-05-22 17:13) [6]

спасибо ребята, примерно то что нужно:

 with Form1.Canvas do
 begin
   Font.Name := "Arial";
   Font.Size := 64;
   Font.Style := Font.Style + [fsBold];
   Pen.Width := 3;
   Brush.Style := bsClear;
   BeginPath(Handle);
   TextOut(50, 50, "OutLined");
   EndPath(Handle);
   Brush.Style := bsSolid;
   Brush.Color := clWhite;
   StrokeAndFillPath(Handle)
 end;



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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
15-1179219626
Rule
2007-05-15 13:00
2007.06.10
Открыл для себя новую альтернативу жабы


15-1179484685
novoalex
2007-05-18 14:38
2007.06.10
In или =


1-1176406354
Tempp
2007-04-12 23:32
2007.06.10
Изменение разрешения экрана с сохранением позиции иконок...


2-1179526975
Heart_Beat
2007-05-19 02:22
2007.06.10
HELP!


2-1179733608
=Teddy=
2007-05-21 11:46
2007.06.10
Как загрузить в приложение и проиграть mp3 файл?