Вращение изображения
Вращение изображения
Вращение изображения 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 firstc := 0; lastc := bitmap.width; for r := 0 to bitmap.height div 2 do begin for c := firstc to lastc do begin fixpixels(c,r); end; inc(firstc); dec(lastc); end; end; bitmap.visible := true; end;