Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

Polygon.Inflate

  Alt 7. Jul 2014, 10:19
Hat jemand eine Idee für eine Polygon.Inflate?

So gehts schonmal nicht

Delphi-Quellcode:
procedure TPolygon.Inflate(const Top, Bottom, Left, Right: double); // positve Werte verkleinern;
var
  I: integer;
  dX, dY, vX, vY: double;
  P: TFloatPoint;
  Line: TFLoatLine;
begin
  P := Center;
  for I := 0 to FCount - 1 do
  begin
    dX := FItems[I].X - P.X;
    dY := FItems[I].Y - P.Y;
    vX := 0;
    vY := 0;
    if (dX > 0) and (dY > 0) then
    begin
      vX := Right;
      vY := Bottom;
    end
    else
      if (dX < 0) and (dY > 0) then
      begin
        vX := -Left;
        vY := Bottom;
      end
      else
        if (dX < 0) and (dY < 0) then
        begin
          vX := -Left;
          vY := -Top;
        end
        else
          if (dX > 0) and (dY < 0) then
          begin
            vX := Right;
            vY := -Top;
          end;
    FItems[I].X := FItems[I].X + vX;
    FItems[I].Y := FItems[I].Y + vY;
  end;
end;
  Mit Zitat antworten Zitat