Fórum Rotacionar Imagens 90 Graus #353106
06/02/2008
0
abraços... :D
Nandobacker
Curtir tópico
+ 0Posts
06/02/2008
Tiago Rizzon
É 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
06/02/2008
Tiago Rizzon
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
06/02/2008
Nandobacker
é uma coisa tão simples q as vezes quebra muito a cabeça
Abraços...
Gostei + 0
06/02/2008
Rickyale2
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
07/02/2008
Paullsoftware
É 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
Clique aqui para fazer login e interagir na Comunidade :)