Como girar imagem de forma rápida ?

03/11/2004

23

Boa tarde. Estou buscando saber como girar uma imagem (foto) .jpg ou .bmp em mais 90 ou menos 90 graus ( retrato paisagem ) em um compomente Timage.


Responder

Posts

03/11/2004

Beto_martini

Olá.

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


Responder

03/11/2004

Profamilton

Olá.
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.


Responder

04/11/2004

Tatuweb

Os exemplos dos links abaixo devem resolver o problema. O que aconteçe é que vc está rotacionando o bitmap usando a propriedade pixels provavelmente atrelada a loops for. Nesse caso a cada pixel ´movido´ é como se vc re-desenhasse o bitmap, o que deixa a rotina lenta. A alternativa é usar as funções copyrect e/ou scanline.

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


Responder

01/04/2021

Sady

Nenhum dos links funciona. Eu estou com o mesmo problema de demora pra girar a imagem.
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!
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar