![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Окантовка текста [D2005, XP]
Познающий © (2007-05-21 23:03:00)Подскажите пожалуйста как быстро и красиво отрисовать текст с окантовкой?
Думал сканлине и анализировать но тут мысль появилась перед выводом текста выводить 4 раза цветом окантовки этот же текст со смещением на пиксел\два в разные стороны.
Пока ещё код не писал, тока прикидываю,
может у кого есть опыт, поделитесь плиз...
Познающий (2007-05-22 17:13:00) [1]спасибо ребята, примерно то что нужно:
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;
Джо (2007-05-22 13:42:00) [2]> [4] Однокамушкин (22.05.07 12:24)
> Потом он превращается в регион: PathToRegion
> Ну а потом этот регион заполняется и окаймляется: StrokeAndFillRegion.
Вовсе не обязательно переводить путь в регион. Есть StrokeAndFillPath.
Однокамушкин (2007-05-22 12:24:00) [3]Вообще такие вещи делаются по-другому...
Сначала создаётся путь на основе текста: BeginPath/TextOut/EndPath
Потом он превращается в регион: PathToRegion
Ну а потом этот регион заполняется и окаймляется: StrokeAndFillRegion. Для окантовки можно выбрать перо с неединичной шириной...
Правда, красиво это смотрится только при больших шрифтах...
Amoeba (2007-05-22 12:02:00) [4]
> отрисовать текст с окантовкой?
Поясни, что именно следует понимать под окантовкой? А то телепатор перегревается.
Познающий (2007-05-21 23:33:00) [5]всмысле кроме лево, верх, право, низ ещё и
лево-верх, верх-право, право-низ, низ-лево
так?
хм...
что-то мне подсказывает что и при 8 выводах будут рваные края
хотя мне скорость нужна вывода, не работал никогда с графикой,
интересно через scanline с анализом границ быстрее будет или нет.
спасибо насчёт 8, не подумал ;)
{RASkov} (2007-05-21 23:23:00) [6]> выводом текста выводить 4 раза цветом окантовки
Тогда уж 8 раз...