Форум: "Начинающим";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
ВнизПроблема со шрифтом. Найти похожие ветки
← →
Андрей (Начинающий) (2008-11-29 19:10) [0]Есть шрифт TTF. В нем есть символ в виде фигуры. Как мне вывести его на DrawGrid заполненный своим цветом, а не только контур? Для примера
:
символ в виде контура звезды, как этот контур заполнить красным цветом?
← →
{RASkov} © (2008-11-29 22:08) [1]> [0] Андрей (Начинающий) (29.11.08 19:10)
Как вариант искать каким либо образом внутренюю часть уже нарисованного на канве символа и использовать "инструмент" канвы FloodFill...
по FloodFill есть справка ....как обычно)
← →
KilkennyCat © (2008-11-29 22:28) [2]TShape
← →
{RASkov} © (2008-11-29 23:04) [3]> TShape
Не, там звезда нужна, тогда лучше Poligon использовать)
← →
KilkennyCat © (2008-11-30 02:51) [4]Мой TShape звезды рисует.
← →
Андрей (начинающий) (2008-11-30 10:49) [5]Звезду я привел для примера. В шрифте много фигур, какие я хочу использовать, поэтому просто рисование меня не устраивает :) Надо организовать каким-либо образом заполнение цветом внутренней части.
← →
KilkennyCat © (2008-11-30 11:59) [6]Тогда используй первый ответ.
← →
Андрей (Начинающий) (2008-11-30 21:27) [7]
> искать каким либо образом внутренюю часть уже нарисованного
> на канве символа
Каким образом узнать цвет обрамления нарисованного на канве символа? Свойство Pixels выдает цвет установленного Brush.Color канвы под символом.
← →
Андрей (Начинающий) (2008-11-30 21:57) [8]подскажите, плиз, где у меня ошибка:
procedure TfrmProba.DrawGrid1DrawCell ....
var ...
begin
with Sender as TDrawGrid, Canvas do begin
canvas.Font.Name:="имя шрифта";
font.Height:=Rect.Bottom-Rect.Top-10;
Brush.Color := clGray;
// ...
FillRect(CellRect(ACol,ARow));
// ...
if ... then
vfigure:="назначение символа шрифта";
TextOut(Rect.Left + (Rect.Right - Rect.Left - TextWidth(vfigure)) div 2,
Rect.Top + (Rect.Bottom - Rect.Top - TextHeight(vfigure)) div 2,
vfigure);
if vfigure="..." then begin // попытка заполнения символа цветом
Brush.Color:=clWhite;
FloodFill(Rect.Right-Rect.Left+6,
Rect.Bottom-Rect.Top+6,
clBlack, fsBorder);
end; // ***if vfigure="..." then
//...
end; // ***with Sender as TDrawGrid, Canvas do
end;
← →
KilkennyCat © (2008-11-30 23:52) [9]
> Каким образом узнать цвет обрамления нарисованного на канве
> символа?
Никаким.
Этот цвет известен до рисования.
Font.color
← →
Андрей (Начинающий) (2008-12-01 10:10) [10]Я правильно понял: текст, написанный на канве не принадлежит ей и узнать расположение символа невозможно?
← →
Anatoly Podgoretsky © (2008-12-01 10:25) [11]На канве нет символов, только точки.
← →
KilkennyCat © (2008-12-01 11:07) [12]
> Андрей (Начинающий)
Неправильно.
Все, что на канве - принадлежит ей, это не фотошоп со слоями.
Расположение символа известно ДО его написания.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c