Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Как плавно менять цвет?   Найти похожие ветки 

 
MaD   (2004-05-05 10:28) [0]

Например цвет панели, или цвет текста,
чтобы создавался эффект переливания, типа.


 
Gero ©   (2004-05-05 10:29) [1]

На сайте есть хорошая статья на эту тему.


 
Андрей Сенченко ©   (2004-05-05 10:29) [2]

R(0..255)
G(0..255)
B(0..255)


 
Семен Сорокин ©   (2004-05-05 10:30) [3]

GradientFill + F1 (2000, XP)


 
Gero ©   (2004-05-05 10:37) [4]

Вот статья:
http://www.delphimaster.ru/articles/grad/index.html


 
MaD   (2004-05-05 10:42) [5]

>>Gero где копать, то? Если помнишь слова из названия, скажи, plz

>>Андрей Сенченко куда вставлять эти RGB?

>>Семен Сорокин GradientFill не подойдет, надо чтоб в 98 работало

Вот с RGB думаю разобраться надо


 
Андрей Сенченко ©   (2004-05-05 10:51) [6]

Я так делал

function RGBStringToColor(S : string) : TColor;
var
 r,g,b : byte;
begin
 r := 0; g := 0; b := 0;
 with TStringList.Create do
 try
   Text := StringReplace(S, ".", #13#10, [rfReplaceAll]);
   r := StrToIntDef(Strings[0],0);
   g := StrToIntDef(Strings[1],0);
   b := StrToIntDef(Strings[2],0);
 finally
   Result := RGB (r,g,b);
   Free
 End;
end;


Пример использованя:

SomeObject.Color := RGBStringToColor (0.255.255);


 
Андрей Сенченко ©   (2004-05-05 10:53) [7]

Цикл или иную формулу смены цветов организовать, я думаю, сумеешь.


 
pasha_golub ©   (2004-05-05 11:24) [8]


procedure VGradientFill(ACanvas: TCanvas; ARect: TRect;
         FromColor, ToColor: TColor);
var
 FC: array [0..3] of byte absolute FromColor;
 TC: array [0..3] of byte absolute ToColor;
 Steps, Y: integer;
 DR, DG, DB: byte;
begin
 Steps := ARect.Bottom - ARect.Top - 2;
 if Steps <= 0 then Exit;
 FromColor := ColorToRGB(FromColor);
 ToColor := ColorToRGB(ToColor);
 DR := Byte(trunc((TC[0] - FC[0])/Steps));
 DG := Byte(trunc((TC[1] - FC[1])/Steps));
 DB := Byte(trunc((TC[2] - FC[2])/Steps));
 for Y := ARect.Top + 1  to ARect.Bottom - 1 do
   with ACanvas do
     begin
      inc(FC[0],DR);
      inc(FC[1],DG);
      inc(FC[2],DB);
      MoveTo(ARect.Left, Y);
      Pen.Color := FromColor;
      LineTo(ARect.Right,Y);
     end;
end;

procedure HGradientFill(ACanvas: TCanvas; ARect: TRect;
         FromColor, ToColor: TColor);
var
 FC: array [0..3] of byte absolute FromColor;
 TC: array [0..3] of byte absolute ToColor;
 Steps, X: integer;
 DR, DG, DB: byte;

begin
 Steps := ARect.Right - ARect.Left - 2;
 if Steps <= 0 then Exit;
 FromColor := ColorToRGB(FromColor);
 ToColor := ColorToRGB(ToColor);
 DR := Byte(trunc((TC[0] - FC[0])/Steps));
 DG := Byte(trunc((TC[1] - FC[1])/Steps));
 DB := Byte(trunc((TC[2] - FC[2])/Steps));
 for X := ARect.Left + 1  to ARect.Right - 1 do
   with ACanvas do
     begin
      inc(FC[0],DR);
      inc(FC[1],DG);
      inc(FC[2],DB);
      MoveTo(X,ARect.Top);
      Pen.Color := FromColor;
      LineTo(X,ARect.Bottom);
     end;
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.039 c
14-1083231948
PVOzerski
2004-04-29 13:45
2004.05.23
Оптимизация при линковке: проблема мертвого кода.


3-1082636714
Rule
2004-04-22 16:25
2004.05.23
Подскажите каким генератором отчетов лучше воспользоватся


3-1083141496
Andrey V.
2004-04-28 12:38
2004.05.23
Создание базы


14-1083154459
Aplay
2004-04-28 16:14
2004.05.23
Поле ввода пароля


9-1072307431
Кен
2003-12-25 02:10
2004.05.23
Авторы GLScene сделали первую игрушку на своём движке. Можно их





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