Телефон: +7 (926) 245-03-63

Вращение изображения

Следующая статья: Индикация статуса клавиш.

С помощью предлагаемого программного кода реализуется быстрый и примитивный способ вращения изображения. По крайней мере, это тоже выход из положения, поскольку Windows этого делать не умеет.

procedure RotateRight(BitMap: TImage);
 var FirstC, LastC, c, r: integer;
 procedure FixPixels(c, r: integer);
 var SavePix, SavePix2: tcolor;
 i, NewC, NewR: integer;
 begin
  SavePix:=Bitmap.Canvas.Pixels[c,r];
  for i:=1 to 4 do
  begin
  Newc:=BitMap.height - r+1;
  Newr:=c;
  SavePix2:=BitMap.Canvas.Pixels[Newc, Newr];
  Bitmap.Canvas.Pixels[Newc, Newr]:=SavePix;
  SavePix:=SavePix2;
  c:=NewC;
  r:=NewR;
  end;
 end;
 begin
  if BitMap.width<>BitMap.height then exit;
  BitMap.Visible:=False;
  with Bitmap.Canvas do
  begin
  FirstС:=0;
  LastС:=BitMap.width;
  for r:=0 to BitMap.height div 2 do
  begin
  for c:=FirstС to LastС do FixPixels(c, r);
  Inc(FirstC);
  Dec(LastC);
  end;
  end;
  BitMap.Visible:=True;
 end;

Примечание: Вращение происходит на 90 градусов вправо за одно выполнение процедуры. Не забудьте добавить компонент TImage на форму, загрузить изображение и передать TImage в качестве параметра в процедуру вращения.

Интересное в интернете: МаркетАналитика. Узнайте все про мировой рынок чая от ведущих специалистов.