Odbijanie obrazka w pionie/poziomie

0

W jaki sposób odbić w pionie/poziomie obrazek - chodzi mi o jakieś zdefiniowane metody, a nie o algorytm bo algorytm moze być taki(ale jest wolny)

procedure FlipHorizontal(Image:TImage);
var
    i,j:integer;
    color:TColor;
begin
    for i:=0 to (Image.Picture.Height-1) div 2 do
    begin
        for j:=0 to Image.Picture.Width-1 do
        begin
            color:=Image.Canvas.Pixels[j,i];
            Image.Canvas.Pixels[j,i]:=Image.Canvas.Pixels[j,Image.Picture.Height-i];
            Image.Canvas.Pixels[j,Image.Picture.Height-i]:=color;
        end;
        Application.ProcessMessages
    end;
end;
0

copyrect odwrotnie daj parametry i powinno odwrócić (gdzieś tak widziałem, chyba w źródłach delphi odbijanie pulpitu do góry nogami) albo scanline to będzie szybciej

0

już sobie poradziłem:)

//odbijanie w pionie
Image.Canvas.CopyRect(Rect(0,0,Image.Width,Image.Height),Image.Canvas,Rect(0,Image.Height,Image.Width,0));

//odbijanie w poziomie
Image.Canvas.CopyRect(Rect(0,0,Image.Width,Image.Height),Image.Canvas,Rect(Image.Width,0,0,Image.Height));

//odbijanie w poziomie i pionie
Image.Canvas.CopyRect(Rect(0,0,Image.Width,Image.Height),Image.Canvas,Rect(Image.Width,Image.Height,0,0));

1 użytkowników online, w tym zalogowanych: 0, gości: 1