Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Reducir el tamaño de una imagen (https://www.clubdelphi.com/foros/showthread.php?t=60685)

pablopessoa 10-10-2008 01:31:15

Reducir el tamaño de una imagen
 
hola!!
tengo el siguiente problema : yo necesito en mi aplicacion almacenar fotos en un tamaño de 640x480, pero puede pasar que me ingresen una imagen de 1024x768.
como puedo hacer, al momento de guardar la imagen, que sin importar que tamaño tenga la foto original yo la pueda guardar con un tamaño de 640x480??

aclaro que ya hice esta pregunta y me dijeron que mirara el truco 467, pero primero que no tengo idea lo que es un thumbnail (perdon por lo bruto) y el codigo lo mire.. pero la verdad no lo entiendo... :S
Muchas gracias y tengan paciencia.. hace poquito empeze con Delphi.
Saludos!!

Neftali [Germán.Estévez] 10-10-2008 09:23:32

Cita:

Empezado por pablopessoa (Mensaje 319277)
ya hice esta pregunta y me dijeron que mirara el truco 467, pero primero que no tengo idea lo que es un thumbnail (perdon por lo bruto)

Esa palabraje se usa para referirse a "miniaturas" de las imágenes; Lo qe normalmente se usa para ganerar una vista previa de una carpeta o de una imagen. La misma imagen, pero más pequeña para que ocupe mucho menos tamaño.

A parte del truco, si buscas por los foros creo que te saldrán mensajes de cómo cambiar el tamaño de una imagen, utilizando un Canvas; He algo que ya se ha discutido.

Northern 10-10-2008 10:02:26

Mira esto a ver si te vale y en cualquier caso busca por Stretch o Resize.


Saludos

pablopessoa 10-10-2008 13:14:22

antes que nada gracias por la respuesta, pero el problema es que ese link que me mostraste funciona con imagenes en bitmap y yo estoy usando Jpeg.... tendria que haberlo mencionado antes.. disculpenme.
probe con la linea : jpg.SetSize (ancho, largo); pero me da error, dice que no puede cambiarse el tamaño de la imagen...

pablopessoa 10-10-2008 13:53:39

bueno queria comentarles que segui probando y logre achicar la foto.. de una manera muy enroscada.. convierto el jpg a bitmap para poder modificar el tamaño y luego lo guardo como jpg otra ves.... pero eso me da dos problemas

1- la imagen pesa como bitmap.. por mas que la extension sea .jpg
2- se me corta la imagen.. es decir.. como la imagen era enorme.. no se ajusta a su nuevo tamaño, sino que me muestra el pedazo de foto que entre en la nueva resolucion. les muestro el codigo para que me digan... bueno en fin que me digan que soy un bruto :P


Jpg := TJpegImage.Create;
Jpg.LoadFromFile(ruta);
MyBMP := TBitmap.Create;
with MyBMP do
begin
Canvas.
Width := 640;
Height := 480;
Canvas.Draw(0,0,Jpg);
SaveToFile('c:\'+nombrefoto+'.jpg');
Free;
end;
JPG.FREE;

perdon por este post largo

cHackAll 10-10-2008 22:19:21

Hola pablopessoa, por favor utiliza las etiquetas [delph¡] Tu codigo aquí [/delphi]

Código Delphi [-]
uses jpeg;
 
procedure TForm1.Button1Click(Sender: TObject);
var bmp: TBitmap; jpg: TJPEGImage;
begin
 jpg := TJPEGImage.Create;
 jpg.LoadFromFile('c:\windows\web\wallpaper\cazador.jpg');
 bmp := TBitmap.Create;
 bmp.Assign(jpg);
 bmp.Width := 640;
 bmp.Height := 480;
 jpg.Assign(bmp);
 bmp.Destroy;
 jpg.SaveToFile('c:\2.jpg');
 jpg.Destroy;
end;

Si quieres una imagen que no pierda su relacion de aspecto que sea sencilla y de conversion rápida, manejandolo como thumbnail, puedes usar lo dicho aquí asi:

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var Image: TBitmap;
begin
 Image := GetImage('ClubDelphi.jpg', 640);
 if Assigned(Image) then
  begin
   Image1.Picture.Assign(Image);
   Image.Destroy;
  end;
end;

Saludos

pablopessoa 11-10-2008 13:18:40

gracias lo voy a probar y perdon por lo del codigo, ya me preguntaba yo como hacian ustedes para que les salga tabulado y con color..... jajajajaajaj
un saludo!!!


La franja horaria es GMT +2. Ahora son las 13:11:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi