Redimensionar imagem
Olá.
Estou fazendo um formulário que vai apresentar as fotos de várias pessoas. (+- 300).
O problema é que durante o cadastro, apesar de eu indicar que as fotos devem ter 180 X 180 pixels para não sobrecarregar a memória, tenho que aceitar a foto que o usuário quiser colocar.
Tem uns tarados que scaneiam a foto e colocam com 2000 X 2000.
Por isso quero que durante o cadastro elas sejam redimensionadas para serem armazena-las em um diretório específico.
Não tô acertando esse processo. Quem puder ajudar, Agradeço.
Estou fazendo um formulário que vai apresentar as fotos de várias pessoas. (+- 300).
O problema é que durante o cadastro, apesar de eu indicar que as fotos devem ter 180 X 180 pixels para não sobrecarregar a memória, tenho que aceitar a foto que o usuário quiser colocar.
Tem uns tarados que scaneiam a foto e colocam com 2000 X 2000.
Por isso quero que durante o cadastro elas sejam redimensionadas para serem armazena-las em um diretório específico.
Não tô acertando esse processo. Quem puder ajudar, Agradeço.
Casetek
Curtidas 0
Respostas
Marcelo Saviski
11/11/2003
Graphics e JPEG no uses
deve funcionar, não testei
var JPG: TJPEImage; BMP: TBitMap; EscalaX, EscalaY: Integer; begin JPG := TJPEImage;.Create; BMP := TBitMap.Create; JPG.LoadFromFile(´Pasta/Foto.jpg´); BMP.Assign(JPG); EscalaX := JPG.Width div 180; EscalaY := JPG.Height div 180); BMP.Canvas.CopyRect(Bounds(0, 0, JPG.Width div EscalaX, JPG.Height div EscalaY, BMP.Canvas, Bounds(0, 0, BMP.Width, BMP.Height); JPG.Assign(BMP); JPG.SaveToFile(´Pasta/FotoMenor.jpg´); JPG.Free; BMP.Free; end;
deve funcionar, não testei
GOSTEI 0