Foros del Web » Programando para Internet » PHP »

Reescalar imagen sin crearla

Estas en el tema de Reescalar imagen sin crearla en el foro de PHP en Foros del Web. Hola qtal, Alguien sabe si es posible reescalar una imagen sin tenerla que crear? Por ejemplo, tengo una imagen jpg de 300 x 300 píxeles ...
  #1 (permalink)  
Antiguo 04/12/2004, 06:43
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 1 mes
Puntos: 0
Reescalar imagen sin crearla

Hola qtal,
Alguien sabe si es posible reescalar una imagen sin tenerla que crear?
Por ejemplo, tengo una imagen jpg de 300 x 300 píxeles y quiero hacer un thumbnail de 50 x 50 píxeles de esa imagen para luego, al clicar sobre ella, mostrar la imagen a su tamaño original de 300 x 300.
Sé que existen funciones que te crean una imagen nueva, pero lo que me gustaría es poder reescalar esa imagen sin tener que crear otra nueva más pequeña, pq para eso meto las 2 imágenes en el servidor y muestro 1 u otra según me convenga.
Gracias y saludos
  #2 (permalink)  
Antiguo 04/12/2004, 19:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. es que ese proceso que mencionas lo puedes hacer de dos formas:

1) dinàmicamente cuando quieres mostrar tus "thumbnails" ..los creas "al vuelo" ..
2) al subir tu imagen (si es que lo haces vìa PHP) o bien por algún proceso que corras en algún momento (script que lo haga) .. generas tus "thumbnails" ..

El caso es "no hacerlo tu a mano" .. ahora tu decides cuando quieres hacer ese proceso por parte de PHP.

Si tu controlas el "upload" de tus imagenes desde PHP con algún script que ya uses (no que subas tus imagenes por FTP o por otros lados a tu servidor) .. en ese momento puedes hacer (generar) el thumbnail. Esto ahorra tiempo de ejecuciòn y recursos de memoria y proceso al servidor cada vez que pidas tus "thumbnails" de tus imagenes .. pero aumenta el tamaño en "disco" en tu servidor.

En las FAQ's de este foro tienes ejemplos de creaciòn de thumbnails .. ya sea generandolos "al vuelo" (usan cabeceras HTTP por header() para enviarlo directo al cliente: navegador) o bien generar un archivo en el servidor.

Un saludo,
  #3 (permalink)  
Antiguo 05/12/2004, 05:47
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 1 mes
Puntos: 0
Gracias Cluster,
En principio me interesa más la primera opción, la de generar los thumbnails al vuelo sin crearlos como archivos en el servidor. Es posible que afecte la velocidad con la que se carga la página pero, por lo menos quiero hacer la prueba y si veo que penaliza mucho el rendimiento, entonces miraré de crear los thumbnails cuando hago el upload. La idea es que sólo se vean 5 thumbnails por página.
Miraré por las FAQS el tema de los headers que comentas. Eché un vistazo pero no vi nada. Supongo que no me fijé bien.
Gracias de nuevo.
Saludos,
  #4 (permalink)  
Antiguo 06/12/2004, 09:02
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 1 mes
Puntos: 0
buenas,
en la siguiente intervención:
http://forosdelweb.com/showthread.ph...ighlight=vuelo
hay un ejemplo de como crear al vuelo un thumbnail.
He probado el código de freedatos y no consigo crear el thumb.
En su lugar me sale el aspa roja indicando que no encuentra la imagen, pero no me da ningún error PHP. La llamada que hago es la siguiente:

http://localhost/prueba_imagen/thumb...gen/prueba.jpg

Sin embargo, si escribo incorrectamente el nombre de la imagen, por ejemplo prueb.jpg, entonces me salen una serie de warnings:

<b>Warning</b>: getimagesize(http://localhost/prueba_imagen/prueb.jpg): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in <b>d:\appserv\www\prueba_imagen\thumbnail.class.ph p</b> on line
<b>Warning</b>: Division by zero in <br />
<b>d:\appserv\www\prueba_imagen\thumbnail.class.ph p</b> on line

<b>Warning</b>: imagecreatetruecolor(): Invalid image dimensions in <b>d:\appserv\www\prueba_imagen\thumbnail.class.ph p</b> on line

<b>Warning</b>: imagecopyresized(): supplied argument is not a valid Image resource

...

Alguien sabe por que no puedo ver el thumbnail creado dinámicamente?

Gracias de antemano y saludos,
  #5 (permalink)  
Antiguo 06/12/2004, 09:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El error te dice que esa función getimagesize() requiere de una ruta ABSOLUTA .. no de una relativa .. es decir .. no puedes usar como ruta:

http://localhost/prueba_imagen/prueb.jpg

En su defecto
c:\nose\prueba_imagen\prueb.jpg

o donde esté fisicamente en tu servidor .. Podría ser también una ruta tipo

../prueba_imagen/prueb.jpg

Pero no una http:// ....

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:48.