procedure DrawLine(Image: TGPBitmap; X, Y, Width, Height: Integer; Color: ARGB);
var
I, J: Integer;
P: ^ARGB;
SrcBD, DstBD: TBitmapData;
begin
Image.LockBits(MakeRect(X, Y, Widht, Height), PixelFormat32bppPARGB, SrcBD);
for I := 0 Width - 1 do
begin
P := SrcBD.Scan0 + I * SrcBD.Stride;
for J := 0 to Height - 1 do
begin
P^ := Color;
Inc(P);
end;
end;
Image.UnlockBits(SrcBD);
end;