Delphi 설계 대시 배경 모방

8473 단어 Delphi

  
procedure TForm1.DrawBackground;
var FScale : integer;
FGridX :double;
FGridY :double;

procedure Line(x, y, x1, y1: Integer);
begin
Canvas.MoveTo(x, y);
Canvas.LineTo(x1, y1);
end ;

function ReverseColor(AColor: TColor): TColor;
var
iR0, iR1, iG0, iG1, iB0, iB1: integer;
begin
iR0 :
= GetRValue(AColor);
iR1 :
= 255 - iR0;
iG0 :
= GetGValue(AColor);
iG1 :
= 255 - iG0;
iB0 :
= GetBValue(AColor);
iB1 :
= 255 - iB0;

Result :
= RGB(iR1, iG1, iB1);
end ;


procedure DrawPoints;
var
GridBmp: TBitmap;
i: Extended;
c: TColor;
dx, dy: Extended;
begin
c :
= ReverseColor(self.Color);
FScale :
= 1 ;
FGridX :
= 5 ; // 96 / 25.4
FGridY :
= 5 ; // 96 / 25.4
dx :
= FGridX * FScale;
dy :
= FGridY * FScale;
if (dx > 2 ) and (dy > 2 ) then
begin
GridBmp :
= TBitmap.Create;
GridBmp.Width:
= Width;
GridBmp.Height :
= 1 ;

GridBmp.Canvas.Pen.Color :
= self.Color;
GridBmp.Canvas.MoveTo(
0 , 0 );
GridBmp.Canvas.LineTo(Width,
0 );

i :
= 0 ;
while i < Width do
begin
GridBmp.Canvas.Pixels[Round(i),
0 ] : = c;
i :
= i + dx;
end ;

i :
= 0 ;
while i < Height do
begin
Canvas.Draw(
0 , Round(i), GridBmp);
i :
= i + dy;
end ;

GridBmp.Free;
end ;
end ;
begin
DrawPoints;
end ;

좋은 웹페이지 즐겨찾기