關于用canvas實現點的閃爍問題﹐在線等待(80分)

  • 主题发起人 主题发起人 wem888
  • 开始时间 开始时间
W

wem888

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要用canvas畫出一個圓點并要求閃爍30秒﹐并且不只一個點﹐假如有10個點﹐要求其同時
閃爍﹐該怎樣來實現?我現在做保安系統﹐其中有這個要求﹐10個點代表10個巡查點﹐當
保安到達時﹐刷卡﹐通過數據搜索來知道保安已經到達此點﹐此點就要閃爍﹐關于點閃爍
該怎樣實現?望大家幫忙渡過難關,
 
闪烁的话可以用两种不同的颜色交替显示吧。
 
每个点用一个对象表示,保存其状态,另用timer每隔一段时间重画一次
 
閃爍的顏色相同﹐比如用紅色﹐象紅色閃光燈一樣﹐一滅一亮﹐我初次做此類問題﹐
能否給出代碼事例﹐
 
一灭一亮就是2种颜色阿,一种暗红,一种鲜红,交替显示不久是一灭一亮了。
代码。。。。。。我也不会。[:)]
 
如:
type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
isRed : Boolean;
implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
PaintBox1.Refresh;
// PaintBox1.Canvas.Pen.Width := 50;
if isRed then
PaintBox1.Canvas.Pixels[20,20]:= clblack
else PaintBox1.Canvas.Pixels[20,20]:= clred;
isRed := Not isRed;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
isRed := True;
end;
 
接受答案了.
 
后退
顶部