RSS
热门关键字:  数据挖掘  数据仓库  人工智能  搜索引擎  数据挖掘导论

对齐到网格

来源: 作者:unkonwn 时间:2005-08-18 点击:

var iGridSize : Integer = 16; procedure TForm1.FormPaint(Sender: TObject); var i, j : integer; begin Self.DoubleBuffered := True; for i := 0 to Self.Width do for j := 0 to Self.Height do if (j mod iGridSize = 0) and (i mod iGridSize = 0) then Self.Canvas.Pixels[i, j] := clNavy; end; procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then begin Self.iOldX := X; Self.iOldY := Y; end; end; procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin Shape1.Left := Shape1.Left + X - iOldX; Shape1.Top := Shape1.Top + Y - iOldY; end; end; procedure TForm1.Shape1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then begin if (Shape1.Left - (Shape1.Left div iGridSize) * iGridSize) > (iGridSize div 2) then begin Shape1.Left := (Shape1.Left div iGridSize) * iGridSize + iGridSize; end else begin Shape1.Left := (Shape1.Left div iGridSize) * iGridSize; end; if (Shape1.Top - (Shape1.Top div iGridSize) * iGridSize) > (iGridSize div 2) then begin Shape1.Top := (Shape1.Top div iGridSize) * iGridSize + iGridSize; end else begin Shape1.Top := (Shape1.Top div iGridSize) * iGridSize; end; end; end;
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?