Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2013, 01:01   #1
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
Злость gradient color text

Может кто сталкивался...
Firemonkey XE3
не могу никак нарисовать текст на канве градиентным цветом

//так рисует градиентом только бордер
Код:
    canvas.Stroke.Kind := TBrushKind.bkGradient;
    canvas.Stroke.Gradient.StartPosition.Y := 1;
    canvas.Stroke.Gradient.StartPosition.X := 0.6;
    canvas.Stroke.Gradient.StopPosition.X := 0.61;
    canvas.Stroke.Gradient.Color := claBlue;
    canvas.Stroke.Gradient.Color1 := claWhite;
    Canvas.TextToPath(Apath, mRect, 'Hello Text!', false, TTextAlign.taCenter, TTextAlign.taCenter);
    Canvas.DrawPath(Apath, 100);
//так градиента нет
Код:
    canvas.fill.Kind := TBrushKind.bkGradient;
    canvas.fill.Gradient.StartPosition.Y := 1;
    canvas.fill.Gradient.StartPosition.X := 0.6;
    canvas.fill.Gradient.StopPosition.X := 0.61;
    canvas.fill.Gradient.Color := claBlue;
    canvas.fill.Gradient.Color1 := claWhite;
    Canvas.FillText(mRect, 'Hello Text!', false, 100, [],
    TTextAlign.taCenter, TTextAlign.taCenter);

//так видимого ничего нет
Код:
    canvas.fill.Kind := TBrushKind.bkGradient;
    canvas.fill.Gradient.StartPosition.Y := 1;
    canvas.fill.Gradient.StartPosition.X := 0.6;
    canvas.fill.Gradient.StopPosition.X := 0.61;
    canvas.fill.Gradient.Color := claBlue;
    canvas.fill.Gradient.Color1 := claWhite;
    Canvas.TextToPath(Apath, mRect, 'Hello Text!', false, TTextAlign.taCenter, TTextAlign.taCenter);
    Canvas.DrawPath(Apath, 100);
ума не приложу
iworm2009 вне форума Ответить с цитированием
Старый 08.05.2013, 18:26   #2
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
По умолчанию

блин никто не скажет?..
iworm2009 вне форума Ответить с цитированием
Старый 11.05.2013, 16:18   #3
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

превращай текст с фоном в рисунок и потом попиксельно цвет текста меняй градиентно на нужный тебе оттенок.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 13.05.2013, 18:47   #4
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
По умолчанию

не понятно почему обводку можно рисовать градиентом, а заливку нет...
мне необходимо этот текст перерисовывать пару десятков раз в секунду. если держать в глобальной переменной исходный рисунок и так часто ему пересчитывать цвет и перерисовывать, не будет ли у меня программа многовато тратить процессора??? при том что размер рисунка по ширине до 1080р...
пробовал обводку увеличить в толщине до момента когда она закрасит все внутри, но это не красиво...

Последний раз редактировалось iworm2009; 13.05.2013 в 18:56.
iworm2009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с процедерой fade text color для scrolltex beegl Общие вопросы Delphi 14 02.01.2013 21:22
в Google Chrome в случайные моменты появляются красные и зелённые прямоугольники, залитые градиентно (Red and green gradient boxes melco Помощь студентам 8 15.08.2012 12:37
TStaticText и свойства Color / Font.Color Bad-XxX Общие вопросы Delphi 1 02.10.2010 19:53
Процедуры: Ввод(text)-Вычисление(string)-Вывод(text) FYBVFPFYBC Помощь студентам 2 06.05.2010 23:15