Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Как уменьшить/увеличить все значения массива


Автор: Chydik 13.12.2012, 11:24
Есть массив координат
SelectArea  : array of TPoint;
Может кто знает как разом уменьшить или увеличить значения массива скажем на +30/-50, не используя цикл? smile 

Автор: northener 13.12.2012, 11:27
Без волшебной палочки никак. :(
Другой вопрос - где потом используются эти координаты? Может в той процедуре заранее предусмотреть некий коэффициент?

Автор: Chydik 13.12.2012, 11:38
Это массив выделенной области на изображении.
Вывожу я его через polyline и просто хочу сделать возможность перемещать это выделение на самой канве, т.е. координаты +/- положения курсора на экране.

Автор: jorka 16.12.2012, 15:56
Сделай процедуру как посоветовал northener.
Примерно так:
Код

function GetSelectAreaPoint(aIndex, aShiftX, aShiftY: Integer): TPoint;
var
  lPoint: TPoint;
begin
  Result := Point(0, 0);

  if (aIndex < 0) or (aIndex >= Length(SelectArea)) then Exit;

  lPoint := SelectArea[aIndex];
  Result := Point(lPoint.X + aShiftX, lPoint.Y + aShiftY);
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)