Rotacionar Imagens 90 Graus

Delphi

06/02/2008

Olá pessoal, mais uma vez estou aki pra pedir essa dica de como rotacionar imagens 90 Graus... se alguém souber e puder me ajudar...
abraços... :D


Nandobacker

Nandobacker

Curtidas 0

Respostas

Tiago Rizzon

Tiago Rizzon

06/02/2008

Usa o photoshop! hehehe!! Brincadeira!

É o seguinte, como costumo demorar prá achar as coisas, com certeza deve ter apenas um comando no Image.Canvas que rotaciona a imagem, mas sempre apanho prá achar, então fiz esse código aí... Ah! Se vc descobrir qual é o comando que rotaciona a imagem, me posta de volta que também gostaria de saber, de momento usa esse tréco aí q digitei, no Delphi 7 funcionou tranquilo...

procedure TForm1.Button1Click(Sender: TObject);
var
Altura, Posicao: Integer;
begin
Image3.Canvas.Draw(0, 0, Image1.Picture.Graphic);
for Altura := 0 to Image1.Picture.Graphic.Height do
for Posicao := 0 to Image1.Picture.Graphic.Width do begin
Image2.Canvas.Pixels[Image1.Picture.Height - Altura, Posicao] := Image3.Canvas.Pixels[Posicao, Altura];
end;
end;

PS, usei 3 componentes TImage prá funcionar (pode ser oculto)... é só vc melhorar o código q quebra o galho!

Abração

;-)


GOSTEI 0
Tiago Rizzon

Tiago Rizzon

06/02/2008

Poxa vida!

Testando melhor percebi q vc precisa deixar o Height e Width dos TImage do mesmo tamanha do gráfico ou maior, para que funcione corretamente...

Abração!


GOSTEI 0
Nandobacker

Nandobacker

06/02/2008

valeu irmão vou tentar esse q vc me passou...
é uma coisa tão simples q as vezes quebra muito a cabeça

Abraços...


GOSTEI 0
Rickyale2

Rickyale2

06/02/2008

Opa, ta ai mais uma opção.

Esse eu guardo pra qdo precisar hehe.. tem uma função que rotaciona a imagem mantendo a posição central . e utiliza o scanpixels que é bem rápido.


[url]http://www.haha.com.br/canvasrotation3.zip[/url]


GOSTEI 0
Paullsoftware

Paullsoftware

06/02/2008

[quote:a7f0d4676c=´Tiago Rizzon´]Usa o photoshop! hehehe!! Brincadeira!

É o seguinte, como costumo demorar prá achar as coisas, com certeza deve ter apenas um comando no Image.Canvas que rotaciona a imagem, mas sempre apanho prá achar, então fiz esse código aí... Ah! Se vc descobrir qual é o comando que rotaciona a imagem, me posta de volta que também gostaria de saber, de momento usa esse tréco aí q digitei, no Delphi 7 funcionou tranquilo...

procedure TForm1.Button1Click(Sender: TObject);
var
Altura, Posicao: Integer;
begin
Image3.Canvas.Draw(0, 0, Image1.Picture.Graphic);
for Altura := 0 to Image1.Picture.Graphic.Height do
for Posicao := 0 to Image1.Picture.Graphic.Width do begin
Image2.Canvas.Pixels[Image1.Picture.Height - Altura, Posicao] := Image3.Canvas.Pixels[Posicao, Altura];
end;
end;

PS, usei 3 componentes TImage prá funcionar (pode ser oculto)... é só vc melhorar o código q quebra o galho!

Abração

;-)[/quote:a7f0d4676c]aproveitando a deixa... como seria pra retroceder ao modo normal? outra coisa aqui no bds2006 a imagem fica estranha :roll:


GOSTEI 0
POSTAR