Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con imagecreate

Estas en el tema de Problema con imagecreate en el foro de PHP en Foros del Web. Tengo que hacer un thumb de una imagen con PHP y al crear el thumb me crea un cuadrado negro... Leí que al agregar "header("Content-Type: ...
  #1 (permalink)  
Antiguo 23/11/2013, 18:07
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 13 años, 11 meses
Puntos: 0
Problema con imagecreate

Tengo que hacer un thumb de una imagen con PHP y al crear el thumb me crea un cuadrado negro...

Leí que al agregar "header("Content-Type: image/jpeg");" se soluciona pero al contrario, me deja de funcionar... Alguna solución?

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <title>Evaluación Tema 5</title>
  4. </head>
  5.  
  6. <?php
  7.    if (function_exists("gd_info")) {
  8.         echo "GD est&aacute; disponible";
  9.         echo"<pre>";
  10.         print_r(gd_info());
  11.         echo"</pre>";
  12. }
  13.     else {
  14.         echo "GD no est&aacute; disponible";
  15. }
  16. ?>
  17.  
  18.     <form action="salida.php" method="post" >
  19.         <input type="text" placeholder="Nombre de la imagen" name="imagen" /><br />
  20.         <select name="formato">
  21.             <option value="jpg">JPG</option>
  22.             <option value="png">PNG</option>
  23.             <option value="gif">GIF</option>
  24.         </select><br />
  25.         <input type="submit" value="Enviar"/>
  26.     </form>
  27. </body>
  28. </html>

Código PHP:
Ver original
  1. <?php
  2.  
  3. $imagen = $_POST ['imagen'];
  4. $formato = $_POST ['formato'];
  5.  
  6. if ($formato == "jpg") {
  7.     $alto = "300";
  8.     $ancho = "400";
  9.     $src_image = @imagecreatefromjpeg ('racoon');
  10.     $dst_image = @imagecreatetruecolor ($ancho, $alto);
  11.     $imagen = @imagecreate ($ancho, $alto);
  12.    
  13.     @imagecopyresized ($dst_img, $src_image, 0,0,0,0, $ancho, $alto, ImageSX ($src_image), ImageSY ($src_image));
  14.     @imagejpeg ($dst_image, "thumbs/racoon_thumb.jpg");
  15.    
  16.     @imagedestroy ($dest_image);
  17.    
  18.     echo '<img src="racoon.jpg">';
  19.     echo '<img src="thumbs/racoon_thumb.jpg">';
  20.  
  21. }
  22. else if ($formato == "png") {
  23.     $alto = "300";
  24.     $ancho = "400";
  25.     $src_image = @imagecreatefrompng ('racoon');
  26.     $dst_image = @imagecreatetruecolor ($ancho, $alto);
  27.     $imagen = @imagecreate ($ancho, $alto);
  28.    
  29.     @imagecopyresized ($dst_img, $src_image, 0,0,0,0, $ancho, $alto, ImageSX ($src_image), ImageSY ($src_image));
  30.     @imagejpeg ($dst_image, "thumbs/racoon_thumb.png");
  31.    
  32.     @imagedestroy ($dest_image);
  33.    
  34.     echo '<img src="racoon.png">';
  35.     echo '<img src="thumbs/racoon_thumb.png">';    
  36. }
  37. else if ($formato == "gif") {
  38.     $alto = "300";
  39.     $ancho = "400";
  40.     $src_image = @imagecreatefromgif ('racoon');
  41.     $dst_image = @imagecreatetruecolor ($ancho, $alto);
  42.     $imagen = @imagecreate ($ancho, $alto);
  43.    
  44.     @imagecopyresized ($dst_img, $src_image, 0,0,0,0, $ancho, $alto, ImageSX ($src_image), ImageSY ($src_image));
  45.     @imagejpeg ($dst_image, "thumbs/racoon_thumb.gif");
  46.    
  47.     @imagedestroy ($dest_image);
  48.    
  49.     echo '<img src="racoon.gif">';
  50.     echo '<img src="thumbs/racoon_thumb.gif">';
  51. }
  52. else {
  53.     die;
  54. }
  55. ?>
  #2 (permalink)  
Antiguo 24/11/2013, 06:56
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Problema con imagecreate

Revisa las lineas 10 y 13:

Código PHP:
Ver original
  1. 10:$dst_image = @imagecreatetruecolor ($ancho, $alto);
  2. 13:imagecopyresized ($dst_img, $src_image, 0,0...

¿No ves algo raro en el nombre de la variable? :))

Lo del content-type de imagen solo es para cuando envias una imagen, en este caso estas enviando html: solo envias los tags de la imagen pero no la imagen en si, luego el navegado recibe esos tags, los interpreta y pide la imagen que ya está creada (entonces el propio servidor ya genera ese content type).

Saludos
vosk
  #3 (permalink)  
Antiguo 24/11/2013, 07:00
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Problema con imagecreate

Una cosa, si quitas las @ te notificará el errore, que para eso esta la informacion de error.

Saludos
vosk
  #4 (permalink)  
Antiguo 24/11/2013, 17:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Problema con imagecreate

Muchisimas gracias, me pasa por despistado jaja

Etiquetas: html, select
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 21:51.