Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
3-1212615009
rosl
2008-06-05 01:30
2009.01.11
запрос sql


2-1227898264
9899100
2008-11-28 21:51
2009.01.11
TlistView


4-1203943522
Gool
2008-02-25 15:45
2009.01.11
WIN API


1-1205387717
Maxick
2008-03-13 08:55
2009.01.11
TIBataBase и DLL


2-1227860921
atom321
2008-11-28 11:28
2009.01.11
челая часть числа





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