Autor
|
Tema: Thumnails jpeg en negro, pero sólo algunas. (Leído 3,031 veces)
|
El Benjo
|
Hola, buen día. El día de ayer hice un script que hace uso de imagecreatefromjpeg() e imagecopyresampled() para generar miniaturas. En mi servidor local crea las imágenes a la perfección, sin embargo en el servidor de mi proveedor de hosting unas imágenes las genera bien y otras no. Ahora bien, siempre son las mismas imágenes.
versión PHP local: 5.2
versión PHP proveedor hosting: 5.4.25
|
|
|
En línea
|
www.es.neftis-ai.comSí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
|
|
|
MinusFour
|
Sin saber que imágenes son y sin ver el código difícil de saber.
|
|
|
En línea
|
|
|
|
El Benjo
|
No coloqué el código porque me pareció innecesario, pues la cuestión (a mi parecer) tiene más que ver con factores externos como la versión de PHP o el formato JPEG que con el código en si. De todas maneras aquí les dejo el código. y la dirección de la página donde lo implemento. / >> Si no existe la miniatura, la genero. $Info_Imagen = getimagesize($_GET['Galeria']."/".$ARR_Todos[$Contador]); switch($Info_Imagen[2]) { case 1: break; case 3: break; case 2: break; case 6: break; } // >> Redimensiono y guardo la miniatura. if($Info_Imagen[0] < $Info_Imagen[1]) { $Relacion = $Info_Imagen[0] / 128; }else{ $Relacion = $Info_Imagen[1] / 128; } imagecopyresampled($Miniatura, $Original, 0, 0, 0, 0, 128, 128, 128 * $Relacion, 128 * $Relacion); switch($Info_Imagen[2]) { case 1: imagegif($Miniatura, "Imagenes/Miniaturas_Galeria/".$ARR_Todos[$Contador]); break; case 3: imagepng($Miniatura, "Imagenes/Miniaturas_Galeria/".$ARR_Todos[$Contador]); break; case 2: imagejpeg($Miniatura, "Imagenes/Miniaturas_Galeria/".$ARR_Todos[$Contador]); break; case 6: imagewbmp($Miniatura, "Imagenes/Miniaturas_Galeria/".$ARR_Todos[$Contador]); break; }
Ruta de la implementación: http://novena-noche-prueba.byethost12.com/?Contenido=Galeria&Galeria=Imagenes/Galeria/PinturasNotarán que en el enlace de arriba aparece una imagen en negro. Y siempre es esa imagen la que no se redimensiona.
|
|
|
En línea
|
www.es.neftis-ai.comSí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
|
|
|
MinusFour
|
Parece que algunas de las imagenes GD no las puede parsear correctamente no se si estén dañadas o el formato sea diferente o algo así. De hecho, php me seguia advirtiendo de un error recuperable blah blah y tuve que agregar: ini_set('gd.jpeg_ignore_warning', true);
Pero no se si esto te ayude. A pesar de los errores, GD si pudo crear la imagen aunque yo estoy en PHP 5.6.
|
|
|
En línea
|
|
|
|
El Benjo
|
Mmmmmm, pues precisamente esa es mi duda, de por qué en algunas versiones de PHP se puede hacer y en otras no, y qué alternativas tengo ante este problema. Pues como pueden ver la versión de mi proveedor es más reciente que la mía y esa es precisamente la del problema.
|
|
|
En línea
|
www.es.neftis-ai.comSí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
|
|
|
MinusFour
|
Mmmmmm, pues precisamente esa es mi duda, de por qué en algunas versiones de PHP se puede hacer y en otras no, y qué alternativas tengo ante este problema. Pues como pueden ver la versión de mi proveedor es más reciente que la mía y esa es precisamente la del problema.
Pues no estoy muy seguro que sea GD, creo que tiene que ver con alguna otra configuracion de PHP. A pesar del error, la imagen si se pudo recrear. Yo probaría directamente solo con esa imagen. header('Content-type: image/jpeg'); ini_set('gd.jpeg_ignore_warning', true); $file = '10999767_415400128623803_4277907763891692236_o.jpg'
Este es el script de prueba que tenia en mi maquina con PHP 5.6. Es bastante directo, solo tienes que modificar $file por el nombre del archivo que quieras probar. Y despues lo ejecutas desde el navegador y debería darte la miniatura. Pruebalo con alguna imagen que te falle. En mi caso yo probe con: De hecho, con esa imagen incluso mi navegador de firefox actua de manera extraña. A pesar de todo:
|
|
« Última modificación: 7 Junio 2015, 15:58 pm por MinusFour »
|
En línea
|
|
|
|
El Benjo
|
Lo siento, no me supe explicar. Sí el error está resuelto gracias a la linea de código que me pasaste, muchas gracias por eso. Pero me seguía intrigando el porqué de dicho error.
Al parecer se debe a la forma en que la librería GD trabaja con las imágenes y es que, a pesar de que las aplicaciones des escritorio trabajan bien con las imágenes que contienen pequeños errores en su codificación, GD no lo hace así, al parecer tien problemas en el tratamiento de este error.
De nuevo, muchas gracias por la ayuda.
|
|
|
En línea
|
www.es.neftis-ai.comSí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Reprodusco video pero se ve negro y solo escucho el audio ayuda
« 1 2 »
Multimedia
|
| Zeden |
|
13
|
18,432
|
8 Febrero 2009, 02:31 am
por Songoku
|
|
|
El navegador solo carga la pagina de inicio....pero solo google!!
« 1 2 »
Dudas Generales
|
Danyor
|
11
|
15,416
|
12 Octubre 2010, 18:32 pm
por jesusarturoes
|
|
|
fondo de escritorio y archivos de pc negro, solo iconos!!!
Windows
|
asombrada
|
1
|
2,428
|
24 Noviembre 2012, 13:47 pm
por dato000
|
|
|
Alejecutar el programa,tan sólo me aparece la ventana en negro sinmás en devc++
Programación C/C++
|
Sunoahrakun
|
1
|
2,070
|
11 Febrero 2016, 06:29 am
por MAFUS
|
|
|
Cuidado: algunas TV 4K afirman tener 120 Hz, pero sólo llegan a 60 Hz
Noticias
|
wolfbcn
|
0
|
3,412
|
31 Mayo 2018, 02:01 am
por wolfbcn
|
|