Текущий архив: 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.45 MB
Время: 0.043 c