Para redimensionar una imagen no hace falta instalar un componente, es una tarea sencilla que podemos hacer hacer nosotros por codigo.
Aqui te dejo 2 funciones que para redimensionar una imagen:
Código Delphi
[-]
procedure Redimensionar(Imagen: TGraphic; Ancho, Alto: Integer);
var
Bitmap: TBitmap;
begin
Bitmap:= TBitmap.Create;
try
Bitmap.Width:= Ancho;
Bitmap.Height:= Alto;
Bitmap.Canvas.StretchDraw(Bitmap.Canvas.ClipRect,Imagen);
Imagen.Assign(Bitmap);
finally
Bitmap.Free;
end;
end;
procedure Proporcional(Imagen: TGraphic; Ancho, Alto: Integer);
var
Bitmap: TBitmap;
begin
Bitmap:= TBitmap.Create;
try
if (Ancho/Imagen.Width) < (Alto/Imagen.Height) then
Alto:= Trunc((Ancho*Imagen.Height)/Imagen.Width)
else
Ancho:= Trunc((Imagen.Width*Alto)/Imagen.Height);
Bitmap.Width:= Ancho;
Bitmap.Height:= Alto;
Bitmap.Canvas.StretchDraw(Bitmap.Canvas.ClipRect,Imagen);
Imagen.Assign(Bitmap);
finally
Bitmap.Free;
end;
end;
Para usarlas lo puedes hacer algo asi:
Código Delphi
[-]
uses JPEG;
var
Jpg: TJPEGImage;
begin
Jpg:= TJPEGImage.Create;
try
Jpg.LoadFromFile('d:\Original.jpg');
Redimensionar(Jpg,100,100);
Jpg.SaveToFile('d:\Copia.jpg');
finally
Jpg.Free;
end;
end;
O tambien con un btimap
Código Delphi
[-]
var
Bmp: TBitmap;
begin
Bmp:= TBitmap.Create;
try
Bmp.LoadFromFile('d:\Original.bmp');
Proporcional(Bmp,100,100);
Bmp.SaveToFile('d:\Copia.bmp');
finally
Bmp.Free;
end;
end;