Buscar

Girar imagem 90 graus

Código

  Para rotacionar uma imagem BMP 90 graus, seja direita ou esquerda, utilize o seguinte bloco de instrução;

-> Coloque em um form, dois componentes TImage, nomei-os como Origem e Resultado, e insira dois botões, com as Captions 90º e -90º.

-> Para o evento do 90º digite o código:

procedure TfrmRodar.Mais90Click(Sender: TObject);
var
  X, Y: integer;
begin
  Resultado.Width := Origem.Height;
  Resultado.Height := Origem.Width;
  Resultado.Update;
  for X := 0 to Origem.Width do
    for Y := 0 to Origem.Height do
      Resultado.Canvas.Pixels[Y, Origem.Width - X] := Origem.Canvas.Pixels
[X,Y];
end;

-> Para o evento do -90º digite o código:

procedure TfrmRodar.Menos90Click(Sender: TObject);
var
  X, Y: integer;
begin
  Resultado.Width := Origem.Height;
  Resultado.Height := Origem.Width;
  Resultado.Update;
  for X := 0 to Origem.Width do
    for Y := 0 to Origem.Height do
      Resultado.Canvas.Pixels[Origem.Height-Y, X] := Origem.Canvas.Pixels[X,Y];
end;

      Pode-se observar que o que foi feito nesse código, e o chamado na matemática de MATRIZ TRANSPOSTA, invertemos as posições pixel a pixel da "Matriz" Origem, para a "Matriz" Resultado.
      Espero ter ajudado alguem nessa...
      ...TK1LL3Z...

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Imagens
Adicionada dia: 23/04/07
Por: Thiago Bittencourt
Visualizada: 13572 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009