Comunidad de diseño web y desarrollo en internet online

Crear thumbnail con PHP sin la librería GD

Citar            
MensajeEscrito el 28 Jul 2008 09:04 am
He estado buscando como hacer el thumbnail de una imagen. Por lo que he visto, los desarrolladores recurren a la librería GD para hacer eso.

Yo no tengo esa libería, tampoco se como instalarla en un servidor o si el servidor necesita requisitos especiales para interpretarla; por eso, he estado buscando una forma de hacerlo sin recurrir a ella.

Por ahí, encontré esto:

Código :

<?php
$file= "bahia/28.jpg";
$nombre= "prueba";
$image = ImageCreateFromJPEG($file);

$width  = imagesx($image) ;
$height = imagesy($image) ;

$new_width  = 100;
$new_height = ($new_width * $height) / $width ;

$thumb = imagecreate($new_width,$new_height);

imagecopyresized($thumb,$image,0,0,0,0,$new_width,$new_height,$width,$height);

ImageJPEG($thumb, "bahia/thumb".$nombre.".jpg");

imagedestroy($image);
?>

La pregunta es:
¿Esa forma de proceder es correcta? ¿Ha alguan forma de hacerlo mejor? :?

Por Bleend

Claber

3385 de clabLevel

10 tutoriales
4 articulos

Genero:Masculino   Héroes

Barcelona

msie
Citar            
MensajeEscrito el 28 Jul 2008 02:53 pm
Bleend, ese código requiere la librería GD. En local, para instalarla es muy fácil, si tienes el wamp, solo dale click derecho al ícono de wamp, y busca "php extensions" e instala la librería GD. En los servidores de hosting, la mayoría ya tiene instalada la librería gd, creeme.

Saludos

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 28 Jul 2008 04:06 pm

Dano escribió:

En los servidores de hosting, la mayoría ya tiene instalada la librería gd, creeme.
Gracias Dano.

Verás, ejecuté un script que teoricamente te decía si tenias lal librería GD. El script era este, no recuerdo de donde lo saqué.

Código :

<?php
if(!function_exists('gd_info')){
echo 'Libreria GD disponible';
}else{
echo 'Libreria GD no disponible';
}?>

Me contestó que no. Por cierto, estoy alojado en clab.

El problema además, no es que esté en clab o no, es que esto lo estoy diseñando para montarlo en otro servidor; del cual se que es de esos gratis que te da telefónica al contratar el ADSL (me da miedo incluso que no tenga soporte PHP :shock: )

Así pues, ¿no se puede hacer sin esa librería?

:(
So saaad

Por Bleend

Claber

3385 de clabLevel

10 tutoriales
4 articulos

Genero:Masculino   Héroes

Barcelona

msie
Citar            
MensajeEscrito el 28 Jul 2008 04:23 pm
Bleend pues no creo que se pueda sin la libería GD. Yo siempre lo he hecho así, y nunca batalle con que no lo tuvieran instalado.

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 28 Jul 2008 05:23 pm
un phpinfo sería más correcto. Por lo general suelen tener la GD instalada como dice Dano, desconozco si los gratuitos también (por qué uno gratuito gañan?).


La otra solución que se me ocurre es hacerlo a nivel hexadecimal/binario, pero eso sería como hacerte tu propia librería GD y nada aconsejable.

Por cierto, si no quieres que la imagen se vea "pixelada" usa imagecopyresample y no imagecopyresize.o te podría alojar

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 28 Jul 2008 05:34 pm

_CONEJO escribió:

un phpinfo sería más correcto. Por lo general suelen tener la GD instalada como dice Dano, desconozco si los gratuitos también (por qué uno gratuito gañan?).
No es mi elección, es el hosting que tienen en la oficina.

_CONEJO escribió:

La otra solución que se me ocurre es hacerlo a nivel hexadecimal/binario, pero eso sería como hacerte tu propia librería GD y nada aconsejable.
Ufff. Creo que paso :S

_CONEJO escribió:

Por cierto, si no quieres que la imagen se vea "pixelada" usa imagecopyresample y no imagecopyresize.o te podría alojar

Da igual, voy a seguir como hasta ahora, voy a mostrar la imagen con unos valores de height y width diferentes de los reales de la imagen.

No es nada a mostrar al publico, es solo para ordenar en el panel de administración las fotografías, para identificarlas visualmente de forma más fácil. Era algo que quería ver si podía cambiar porque por algún motivo Firefox se come ingentes cantidades de recursos cuando trabaja con imágenes muy grandes escaladas de esta forma. Pero si no es posible, no me preocupa, esta noche podré dormir. U_U

Gracias.

Por Bleend

Claber

3385 de clabLevel

10 tutoriales
4 articulos

Genero:Masculino   Héroes

Barcelona

firefox
Citar            
MensajeEscrito el 28 Jul 2008 06:09 pm
bueno si quires proba en este host gratis tiene todos los juguetes y creeo q te servira para q testes la web mira prueba y decide jajaja

http://www.000webhost.com/57519.html

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 01 Ago 2008 05:57 pm
mira a ver con un "phpinfo()"
Debería devolver algo así, entre los módulos instalados.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 25 Sep 2008 03:00 pm

Bleend escribió:

Dano escribió:

En los servidores de hosting, la mayoría ya tiene instalada la librería gd, creeme.
Gracias Dano.

Verás, ejecuté un script que teoricamente te decía si tenias lal librería GD. El script era este, no recuerdo de donde lo saqué.

Código :

<?php
if(!function_exists('gd_info')){
echo 'Libreria GD disponible';
}else{
echo 'Libreria GD no disponible';
}?>

Me contestó que no. Por cierto, estoy alojado en clab.

El problema además, no es que esté en clab o no, es que esto lo estoy diseñando para montarlo en otro servidor; del cual se que es de esos gratis que te da telefónica al contratar el ADSL (me da miedo incluso que no tenga soporte PHP :shock: )

Así pues, ¿no se puede hacer sin esa librería?

:(
So saaad


Hola, sabes la funcion que dices fijate que tiene un signo de exclamacion adelante, eso implica que esta negando la condicion, por lo tanto cuando te diga que no lo soporta, realmente soporta GD.

Lo otro es que a mi una funcion me resulto bien, asi que como Cristalab me ha dado muchas soluciones, como no dar la mia.

Aqui va:

function redimensionar_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad) {

// crear imagen desde original
$img = imagecreatefromjpeg($img_original);

// crear imagen nueva, aqui se conserva los colores del .jpeg :D
$thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura);

// redimensionar imagen original copiandola en la imagen
imagecopyresampled($thumb,$img,0,0,0,0,$img_nueva_anchura, $img_nueva_altura,imagesx($img),imagesy($img));

// guardar la imagen redimensionada donde indicia $img_nueva
imagejpeg($thumb,$img_nueva,$img_nueva_calidad);
}

Y SE LLAMARIA ASÍ:

//direccion de la foto
$target_path = $_SERVER['DOCUMENT_ROOT']. "imagenes/". basename( $_FILES['myfile']['name']);

//direccion del thum

$target_path_thumb = $_SERVER['DOCUMENT_ROOT']. "imagenes/thumb/". basename( $_FILES['myfile']['name']);

redimensionar_jpeg($target_path,$target_path_thumb,120,100,100);

Ojala les sirva, salu2 :D

Por Greathorn

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2010 06:12 pm
hola, tengo un problemilla que nose como solucionar en el tema thumb, el tema es que tengo en la misma hoja php, un upload de imagenes, cuando selecciono la imagen la sube perfectamente, despues al lado dice, finalizar, ese finalizar lo que hace es redimensionar la imagen que acaban de subir, el problema es que el redimensionador no funcionar sino le pongo que imagen quiero redimensionar, lo que quiero saber es como redimensionar todas las imagenes que se encuentren en esa carpeta.
$source = ($original);/////ESTE ES EL NOMBRE QUE TIENE QUE ESTAR CUANDO SUBA LA IMAGEN
$dest = 'imagen1.jpg';/////ESTE ES EL NOMBRE CON LA QUE SUBE LA IMAGEN Y ADEMAS LA REDIMENSIONA

HELP ME PLEASE!!!!!!!!!!!

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.