Redimensionar imagem

Delphi

11/11/2003

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.


Casetek

Casetek

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

11/11/2003

Graphics e JPEG no uses

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
POSTAR