Thema: SnapToGrid

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: SnapToGrid

  Alt 29. Mär 2007, 14:02
Ja, das kommt dem schon recht nahe. Nur wird nicht zur nächsten Rasterlinie ge"snappt", sondern zu einer die wesentlich weiter links davon liegt. Mein Code:
Delphi-Quellcode:
procedure TForm1.ImageEnVectLayerNotify(Sender: TObject; layer: Integer; event: TIELayerEvent);
var
  x : Integer;
  a: Integer;
  b: Integer;
begin
  case event of
    ielMoved:
      begin
        x := ImageEnVect.Layers[ImageEnVect.LayersCurrent].PosX;
        a := x div FotoBook.GridWidth;
        b := x - a * FotoBook.GridWidth;
        Caption := IntToStr(a) + '/' + IntToStr(b);
        if b < (FotoBook.GridWidth div 2) then
          ImageEnVect.Layers[ImageEnVect.LayersCurrent].PosX := a
        else
          ImageEnVect.Layers[ImageEnVect.LayersCurrent].PosX := a + FotoBook.GridWidth;
      end;
  end;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat