这样比直接在PaintBox上画图居然要慢许多, 是什么原因呢????
var
BackMap : TBitMap;
begin
BackMap := TBitMap.Create;
BackMap.Width := PaintBox.Width;
BackMap.Height := PaintBox.Height;
BackMap.Canvas.CopyRect(Rect(0,0,PaintBox.Width,PaintBox.Height),PaintBox.Canvas
Rect(0,0,PaintBox.Width,PaintBox.Height)); BackMap.Canvas.Pen.Color := clLime;
BackMap.Canvas.Pen.Mode :=pmCopy; BackMap.Canvas.MoveTo(x,y);
BackMap.Canvas.LineTo(x,y);
...... PaintBox.Canvas.CopyRect(Rect(0,0,PaintBox.Width,PaintBox.Height),BackMap.Canvas
Rect(0,0,BackMap.Width,BackMap.Height));
BackMap.Free;
end;
var
BackMap : TBitMap;
begin
BackMap := TBitMap.Create;
BackMap.Width := PaintBox.Width;
BackMap.Height := PaintBox.Height;
BackMap.Canvas.CopyRect(Rect(0,0,PaintBox.Width,PaintBox.Height),PaintBox.Canvas
Rect(0,0,PaintBox.Width,PaintBox.Height)); BackMap.Canvas.Pen.Color := clLime;
BackMap.Canvas.Pen.Mode :=pmCopy; BackMap.Canvas.MoveTo(x,y);
BackMap.Canvas.LineTo(x,y);
...... PaintBox.Canvas.CopyRect(Rect(0,0,PaintBox.Width,PaintBox.Height),BackMap.Canvas
Rect(0,0,BackMap.Width,BackMap.Height));
BackMap.Free;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货