1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| procedure PrintT(x,y,size: integer; canvas: TCanvas); var Quer: integer; begin Quer := round(1/2*size); with canvas do begin moveto(x, y+size div 2); lineto(x, y-size div 2); moveto(x-Quer div 2, y-size div 2); lineto(x+Quer div 2, y-size div 2); end; end;
procedure PrintTMatrix(x,y,Size: integer; canvas: TCanvas); var NewSize: integer; begin if Size < 8 then exit; NewSize := Size - 10; PrintT(x,y,Size, canvas);
Application.ProcessMessages; PrintTMatrix(x+round(size*1.5), y+Newsize div 2 + 1, NewSize, canvas); PrintTMatrix(x+round(size*1.5), y-Newsize div 2 - 1, NewSize, canvas); end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin printTMatrix(x,y,40, canvas); end; |