Imagem - virar horizontal e vertical

Top  Previous  Next

//This tip is from http://www.delphimania.de

procedure Virar_Vertical(Bitmap: TBitMap);

var

  Temp: TBitmap;

begin

  Temp := TBitmap.Create;

  Temp.Assign(Bitmap);

  Bitmap.Assign(nil);

  Bitmap.Width  := Temp.Width;

  Bitmap.Height := Temp.Height;

  StretchBlt(Bitmap.Canvas.Handle, 00, Bitmap.Width, Bitmap.Height,

             Temp.Canvas.Handle, 0, Temp.Height, Temp.Width, -Temp.Height, SrcCopy);

  Temp.Free;

end;

 

procedure Virar_Horizontal(Bitmap: TBitmap);

var

  Temp: TBitmap;

begin

  Temp := TBitmap.Create;

  Temp.Assign(Bitmap);

  Bitmap.Assign(nil);

  Bitmap.Width  := Temp.width;

  Bitmap.Height := Temp.height;

  StretchBlt(Bitmap.Canvas.Handle, 00, Bitmap.Width, Bitmap.Height,

             Temp.Canvas.Handle, Temp.Width, 0, -Temp.Width, Temp.Height, SrcCopy);

  Temp.Free;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  Virar_Vertical(Image1.Picture.Bitmap);

end;