Rotacionar Imagens 90 Graus
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
abraços... :D
Nandobacker
Curtidas 0
Respostas
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
;-)
É 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
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!
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
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...
é uma coisa tão simples q as vezes quebra muito a cabeça
Abraços...
GOSTEI 0
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]
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
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:
É 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