Foros del Web » Programando para Internet » PHP »

Problema al crear imágenes con PHP mediante gd2.dll

Estas en el tema de Problema al crear imágenes con PHP mediante gd2.dll en el foro de PHP en Foros del Web. Buenas otra vez! Antes que nada, como siempre, gracias por la atención. El motivo que me lleva a crear este tema es que he estado ...
  #1 (permalink)  
Antiguo 14/08/2011, 20:42
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Mensaje Problema al crear imágenes con PHP mediante gd2.dll

Buenas otra vez!

Antes que nada, como siempre, gracias por la atención. El motivo que me lleva a crear este tema es que he estado experimentando problemas al crear imágenes con php mediante las funciones de la biblioteca gd2.dll.

Tengo instalado el servidor local wampServer 2.0 y utilizo windows 7 starter edition. Ya tengo configuradas las extensiones y rutas de las mismas en el php.ini y también fueron habilitadas mediante el menú de extensiones del wamp, sin embargo, no logro crear las dichosas imágenes...

En este momento poseo dos archivos, el primero, en donde se "crea" la imagen, tiene por nombre image.php y su código es el siguiente:

Código PHP:
Ver original
  1. <?php
  2. //cargamos la imagen desde un archivo jpg
  3. $image = imagecreatefromjpeg('fondo.jpg');
  4. //asignamos los colores que utilizaremos después
  5. $black = ImageColorAllocate($image, 0, 0, 0);
  6. //leemos el tamaño de la imagen
  7. imageline($image, 0, 2, 2, 2, $black);
  8. //colocamos el texto en la parte central de la imagen
  9. imagestring($image, 10, 4, 4, "hola", $black);
  10. //definimos el encabezado de acuerdo con el tipo de datos de salida
  11. header("Content-type: image/png");
  12. //generamos la imagen
  13. imagepng($image);
  14. //liberamos la memoria ocupada por la imagen
  15. imagedestroy($image);
  16. ?>

Por otro lado, se encuentra el archivo imagen.php y su código es el siguiente:

Código HTML:
Ver original
  1. <TITLE>Prueba Imágenes</TITLE>
  2. </HEAD>
  3. <IMG SRC="image.php" width="400" height="300" border="0">
  4. </BODY>
  5. </HTML>

(antes de proseguir me gustaría destacar que ambos códigos fueron tomados de una web en la que se detalla como realizar lo que estoy pidiendo, si bien en dicha web se mostraba el ejemplo en marcha, y el código es el proporcionado [salvo con algunas pequeñas modificaciones pues en este caso no me interesa adornar la imagen] no logro hacer que funcione).

cuando abro el archivo imagen.php (desde mi servidor local, claro está) aparece el recuadro reservado a la imagen pero esta no se carga (aparece el icono que informa de que no se encuentra el archivo de imagen)...

Está claro que hay algo que estoy haciendo mal, lo que me parece raro es que, siendo que en el sitio original el código funcionaba, no lo haga en el wamp.

Cabe aclarar que también verifiqué que la imagen invocada en el archivo image.php, llamada fondo.jpg estuviese escrita correctamente y todo lo demás... (lo digo para ahorrarles tiempo de procesador ).

Bueno, espero haber sido claro, conciso y... ¿breve? . Desde ya muchas gracias por su atención. Un abrazo para todos.
  #2 (permalink)  
Antiguo 14/08/2011, 20:50
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Pues quien sabe que pase con tu libreria o estas colocando mal la imagen fondo.jpg, porque el código PHP está correctamente. Además en wamp viene activado GD por defecto.

PD: fondo.jpg debe existir y tener la ruta correcta.

Prueba esto, si no te funciona es problema de tu libreria (que lo dudo porque yo uso wamp y zend server):

Código PHP:
Ver original
  1. <?php
  2. $image = imagecreatetruecolor(300, 300);
  3. $colorf = ImageColorAllocate($image, 255, 255, 255);
  4. imagefill($image, 0, 0, $colorf);
  5. $black = ImageColorAllocate($image, 0, 0, 0);
  6. imageline($image, 0, 2, 2, 2, $black);
  7. imagestring($image, 10, 4, 4, "hola", $black);
  8. header("Content-type: image/jpg");
  9. imagepng($image);
  10. imagedestroy($image);
  11. ?>
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 14/08/2011 a las 21:01
  #3 (permalink)  
Antiguo 15/08/2011, 18:43
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Mensaje Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Hola andresdzphp!

Antes que nada, muchas gracias por la prontitud de la respuesta!

He intentado lo que me has dicho y... sigue sin funcionar, luego de leer el código que me proporcionaste me encontré con esto:

Cita:
header("Content-type: image/jpg"); // Se establece el tipo como "jpg"
imagepng($image); // Se utiliza la función "imagepng"
Supongo que sería un error de tipeo (confieso que de todas formas lo probé tal cual me lo enviaste) y no funcionó, luego de corregido tampoco logré hacer que funcione.

Lo más extraño del caso es que he estado leyendo otros mensajes y todos hablan de errores que les son arrojados, en mi caso no hay error, simplemente la imagen no se carga y ya... es extraño.

He estado intentando buscar una versión nueva de la librería pero, como tu bien dices, esta ya viene integrada con php, y viene compilada específicamente para la versión del mismo. También ejecuté la función php_info() y el estado de la librería es "Enabled"... Sinceramente, no se que puede estar sucediendo.

Gracias otra vez, seguimos en contacto, un abrazo.
  #4 (permalink)  
Antiguo 15/08/2011, 18:47
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

No lo pruebes con el archivo que muestra la imagen sino el que genera la imagen, a ver si hay algún error PHP y copialo aqui a ver de que se trata. Saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 15/08/2011, 18:50
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Con las últimas modificaciones quedó así:

Código PHP:
<?php
$image 
imagecreatetruecolor(300300);
$colorf ImageColorAllocate($image255255255);
imagefill($image00$colorf);
$black ImageColorAllocate($image000);
imageline($image0222$black);
imagestring($image1044"hola"$black);
header("Content-type: image/jpg");
imagejpg($image);
imagedestroy($image);
?>
El archivo donde se carga no fue cambiado.

Gracias!
  #6 (permalink)  
Antiguo 15/08/2011, 18:52
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Por apurarme me olvidé de agregar que probé independientemente el archivo y aún así no arroja ningún error. .

Gracias otra vez.
  #7 (permalink)  
Antiguo 15/08/2011, 18:57
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Tienes un error:

imagejpg($image);

imagejpg no existe es: imagejpeg($image);

Fatal error: Call to undefined function imagejpg()
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #8 (permalink)  
Antiguo 15/08/2011, 19:05
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Muy bien, ya he cambiado eso pero... sigue sin funcionar.

Es extraño, creo que el código es lo suficientemente claro, y por lo general los errores con esta biblioteca surgen por malas configuraciones... sinceramente no veo que estoy haciendo mal.

Gracias de nuevo, un abrazo.
  #9 (permalink)  
Antiguo 15/08/2011, 19:07
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Prueba en tu image.php el código sin está linea...

Código PHP:
Ver original
  1. header("Content-type: image/jpg");

Copia los errores.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #10 (permalink)  
Antiguo 15/08/2011, 19:12
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Bueno, quité la linea de formato y al ejecutar el archivo image.php (quién genera la imagen) obtuve esto:

����JFIF��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ��C    $.' ",#(7),01444'9=82<.342��C  2!!222222222222222222222222222222222222222222222 22222��,,"�� ���}!1AQa"q2���#B��R��$ 3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz �������������������������������������������������� �������������������������  ���w!1AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvw xyz����������������������������������������������� ��������������������������� ?��6�Ix4��zK�˷v�� K U�4@�G'�Fy8�jW������_b���,����0�������g��! ��r�?��+��{����S���ޞQkږM��Ǎ��UbT�9 ��OMմ�fݮ4�B��r�%��*��8%I���} W��� �~���X���;�{$q����o����P��^���0F_ë�}3N��� ��]���u�}��EX�rp�@�Ex����<#w-����jp��� �嶘��Q��:� 1��@>�@Q@Q@Q@Q@Q @Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@氳��� ��� .�w}�g��p�mc��pq֣m'Mg�v�� ߠK�0�n)P$��I9���Q@� �'Mѭ��K��,`g.��±)l��3�*=3B��O7�'J�����}��"ߌ�;@� 2z��Т�1��'��=�e����Rq�YF��3��yw6Q����EQEQEQE QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQ EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQ EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQ(...)
  #11 (permalink)  
Antiguo 15/08/2011, 19:14
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Según eso no es problema de la libreria GD. Prueba este ejemplo y copialo como está:

Código PHP:
Ver original
  1. <?php
  2.  
  3. // crear una imagen de 200*200
  4. $img = imagecreatetruecolor(200, 200);
  5.  
  6. // asignar algunos colores
  7. $blanco = imagecolorallocate($img, 255, 255, 255);
  8. $rojo   = imagecolorallocate($img, 255,   0,   0);
  9. $verde = imagecolorallocate($img,   0, 255,   0);
  10. $azul  = imagecolorallocate($img,   0,   0, 255);
  11.  
  12. // dibujar la cabeza
  13. imagearc($img, 100, 100, 200, 200,  0, 360, $blanco);
  14. // la boca
  15. imagearc($img, 100, 100, 150, 150, 25, 155, $rojo);
  16. // el ojo izquierdo y después el ojo derecho
  17. imagearc($img,  60,  75,  50,  50,  0, 360, $verde);
  18. imagearc($img, 140,  75,  50,  50,  0, 360, $azul);
  19.  
  20. // imprimir la imagen en el navegador
  21. header("Content-type: image/png");
  22. imagepng($img);
  23.  
  24. // liberar memoria
  25.  
  26. ?>
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #12 (permalink)  
Antiguo 15/08/2011, 19:21
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Muy bien, he copiado y pegado el código y al probarlo arroja un error en la linea 4:

Parse error: parse error in C:\wamp\www\prueba\image.php on line 4

¿error en la función?
  #13 (permalink)  
Antiguo 15/08/2011, 19:23
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

El código no tiene errores, fue sacado del manual oficial... Copialo directamente no le des en ver original.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #14 (permalink)  
Antiguo 15/08/2011, 19:27
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Bien, luego de copiar tal cual estaba, si bien desapareció el error en el archivo que genera, al llamarlo desde el otro archivo el resultado es el mismo, no se ve.

Espero no estar aburriéndote con todo este va y viene, no es mi intención molestar, te agradezco enormemente tu dedicación.

Un abrazo.
  #15 (permalink)  
Antiguo 15/08/2011, 19:32
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

puffff te recomiendo que reinstales wamp o uses mi favorito Zend server CE, porque todos los ejemplos me funcionan perfectamente en wamp y zend server. Seguramente manipulando la configuración moviste lo que no debias.

http://www.zend.com/en/products/server-ce/downloads
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #16 (permalink)  
Antiguo 15/08/2011, 19:38
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Genial, me lo estoy descargando ahora mismo. El wamp lo reinstalé ayer porque también pense que quizás había hecho algo mal, vamos a ver que sucede con este nuevo servidor. Apenas pueda probarlo te escribiré.

Un fuerte abrazo y muchas gracias otra vez, realmente es bueno saber que hay gente dispuesta a ayudar, espero poder corresponder con lo mismo a medida que mi conocimiento avance.

Mucha suerte!
  #17 (permalink)  
Antiguo 19/08/2011, 09:01
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al crear imágenes con PHP mediante gd2.dll

Bueno, para dar por finalizado este tema pretendo contar como me fue con la solución del problema...

Al final de todo, y luego de instalar el zendserver como recomendase andresdzphp pude hacer funcionar los códigos de generación de imágenes, tanto los sacados de Internet como los que deseaba crear, por lo tanto, la solución de un nuevo servidor fue una muy buena opción.

Por otro lado, luego de asegurarme del funcionamiento de mis scripts y, ya más aliviado, comencé otra vez la lucha con el wamp server... como seguía sin funcionar y ya había bajado todas las actualizaciones de php existentes hasta la fecha... ¡actualicé el wamp! ¡ahora tengo la última versión y funciona expléndido! por lo tanto he de suponer que la versión utilizada hasta al momento (wamp 2.0i) me estaba dando problemas con windows 7 starter edition.

Sin más que agregar, les dejo un abrazo y agradezco nuevamente a andresdzphp por su valiosa ayuda.

¡Buena programación para todos!

Etiquetas: dinamicas, gd2.dll, imagenes
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 13:55.