Como girar imagem de forma rápida ?
03/11/2004
0
Profamilton
Posts
03/11/2004
Beto_martini
Não conheço nenhuma forma automatizada para isto.
via código, acho que vc. deveria criar um segundo timage, redimensiona-lo e copiar o conteúdo pixel por pixel de timage1 para timage2.
ex:
timage1.width = 200
timage1.height := 100
timage2.width := timage1.height
timage2.height := timage1.width
Então, construa função para copiar pixel por pixel.
timage2.canvas.pixels[x,y] := timage1.canvas.pixels[x,y]
Se precisar de ajuda para a função, entre em contato.
P.S: acho que a solução só funcionará para imagens BMP pois acredito que JPG não possui canvas.
Um abraço.
arm@netpar.com.br
03/11/2004
Profamilton
A solução dada eu já tinha feito, porém achei muito demorada e custosa em termos de processamento. Pensei haver uma forma mais ´limpa´.
No visualizador do windows XP tem uma opção para isso que age muito mais rápido. É este efeito que busco. Mas agradeço sua atenção.
04/11/2004
Tatuweb
Nesse link tem um exemplo simples par rotacionar um bitmap:
http://delphi.about.com/cs/adptips2001/a/bltip1201_4.htm
Aqui tem outro mais com explicações mais detalhadas sobre as funções scanline e copyrect:
http://www.efg2.com/Lab/ImageProcessing/RotateScanline.htm
01/04/2021
Sady
Para inverter a imagem eu achei uma solução rápida. Mas eu preciso girar a imagem.
JPEG não consegui girar.
Daí converti para BMP, girei a imagem e voltei a converter pra JPEG.
A conversão é rápida, mas o girar é demorado.
Se alguém puder dar alguma sugestão, eu agradeço!
Clique aqui para fazer login e interagir na Comunidade :)