我有一个 Delphi XE2 项目要Label01 Font Color
使用Timer04
. 所以我写了以下代码:
procedure TMainForm.FormCreate(Sender: TObject);
begin
Timer04.Enabled := true;
end;
..
..
..
..
..
procedure TMainForm.Timer04Timer(Sender: TObject);
var
StartColor, RedColor, GreenColor, BlueColor: integer;
begin
StartColor := ColorToRGB(Label01.Font.Color);
RedColor := GetRValue(StartColor);
GreenColor := GetGValue(StartColor);
BlueColor := GetBValue(StartColor);
if RedColor <= 251 then Inc(RedColor, 1) else RedColor := 1;
if GreenColor <= 252 then Inc(GreenColor, 2) else GreenColor := 2;
if BlueColor <= 253 then Inc(BlueColor, 3) else BlueColor := 3;
Label01.Font.Color := RGB(RedColor, GreenColor, BlueColor);
end;
此代码完美运行。Label01 Font Color
不同颜色之间的变化。
现在我正在尝试Label02 Color
将其固定(比如绿色),并且亮度的值将从0增加到100。如果该值达到100,它将减少到0,并将继续循环。
对于我的情况,我选择HUE=135
了SATURATION=85
和BRIGHTNESS=50
。的值BRIGHTNESS
会从50增加到100,然后会从100减少到0并继续。Function
但问题是HSB
在. 我已经搞定了。但我发现任何as 。只有一些可用。我阅读了他们的评论,发现每个人都有一些错误。RGB
Delphi XE2
Function
HSBToRGB
Delphi Unit