Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Cambiar tamaño de imágenes jpg, bmp, gif... (https://www.clubdelphi.com/foros/showthread.php?t=9208)

raiden00 16-04-2004 23:27:37

Cambiar tamaño de imágenes jpg, bmp, gif...
 
Hola! Aunque he estado mirando este foro desde hace bastante tiempo, ésta es la primera vez que escribo.
Me interesaría saber cómo cambiar el tamaño de las imágenes por código, es decir, cómo cambiar por ejemplo el tamaño gigante de las fotos de las cámaras digitales a uno más pequeñito para que ocupe menos espacio.

El caso es que pretendo hacer un programa que convierta el tamaño de todas las fotos de un directorio por lo que el procedimiento no debería ser demasiado lento.

Muchas gracias a todos por vuestra ayuda en este foro, espero alguna respuesta!!

roman 16-04-2004 23:40:30

Para un bitmap podrías leer la imagen en un TBitmap y en otro TBitmap al que inicializas con las dimensiones deseadas usas el método StretchDraw de su propiedad Canvas, algo así como (no probado):


Código:

var
  Origen, Destino: TBitmap;
  Rect: TRect;
 
begin
  Origen := TBitmap.Create;
  Origen.LoadFromFile('bitmap.bmp');
 
  Destino := TBitmap.Create;
  Destino.Width := Ancho;
  Destino.Height := Altura;
 
  Rect := Rectangle(0, 0, Ancho, Altura);
  Destino.Canvas.StretchDraw(Rect, Origen);
 
  Origen.Free;
  Destino.Free;
end;

Para otro tipo de imagenes prmero las conviertes a bitmaps y procedes igual.

// Saludos

jachguate 17-04-2004 00:48:17

Antes de las llamadas a free... yo añadiría una llamada a

Destino.SaveToFile('BitmapPequeno.bmp');

Hasta luego.

;)

roman 17-04-2004 00:58:19

Cita:

Empezado por jachguate
Antes de las llamadas a free... yo añadiría una llamada a

Destino.SaveToFile('BitmapPequeno.bmp');

Bueeeeno, él preguntó cómo cambiar el tamaño no cómo guardar el bitmap en un archivo. :D

// Saludos

Nelson Alberto 01-05-2004 04:36:36

Hola Raiden00

Yo generalmente para reducir el tamaño de cualquier foto grabada en los formatos jpg y bmp, uso un programa que se llama PicaView, lo puedes bajar del internet, es totalmente gratis. ahora no me recuerdo el Link en donde lo encontre.

espero lo encuentre y te sea util.

jachguate 01-05-2004 06:15:57

Cita:

Empezado por raiden00
Me interesaría saber cómo cambiar el tamaño de las imágenes por código

Cita:

Empezado por Nelson Alberto
un programa que se llama PicaView

Salvo que este programa tenga un API que pueda ser llamado por código... creo que no has entendido bien la pregunta original...

Hasta luego.

;)

raiden00 01-05-2004 21:27:48

Hola de nuevo. En primer lugar gracias a todos por contestar.
Para Nelson Alberto: gracias por informarme de ese programa, pero como bien te ha dicho jachguate me interesaría poder hacerlo mediante código, si no lo haría con el Photoshop por ejemplo.

En cuanto al método de roman, he empleado un método similar sólo que cambiándolo un poco para que acepte imágenes jpg y los resultados no son malos. El método no es demasiado rápido pero lo peor es que se aprecia bastante pérdida de calidad en la imagen.

Mi nueva pregunta es si alguien conoce algún método para cambiar el tamaño sin perder tanta calidad. No debería ser demasiado complicado ya que lo que yo hago es disminuir el tamaño de las imágenes por lo que no hay que "inventar" nuevos pixeles como ocurre cuando se aumenta el tamaño.

Estoy haciendo un programa que cambia de tamaño todas las fotos elegidas, ya sean una por una o directorios así que si a alguien le interesa el código se puede poner en contacto conmigo en squique@hotmail.com

Espero que alguien pueda encontrar un nuevo método. Muchas gracias.

Jure 02-05-2004 21:49:44

... mira esto ...
 
Hola raiden00 revisa este hilo, encontraras dos links que puden ayudarte en lo que quieres hacer:

http://www.clubdelphi.com/foros/showthread.php?t=9217

Espero que te sirvan.

Jure


La franja horaria es GMT +2. Ahora son las 00:18:18.

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