Foros del Web » Programando para Internet » PHP »

Problema al crear una Imagen con PHP

Estas en el tema de Problema al crear una Imagen con PHP en el foro de PHP en Foros del Web. Hola bueno tengo un Gran problema tengo el siguiente codigo: Código PHP: <?php $url  =  $_GET [ "url" ]; $escala  =  $_GET [ "escala" ]; ...
  #1 (permalink)  
Antiguo 21/10/2011, 18:51
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 5 meses
Puntos: 10
Problema al crear una Imagen con PHP

Hola bueno tengo un Gran problema

tengo el siguiente codigo:

Código PHP:
<?php

$url 
$_GET["url"];
$escala $_GET["escala"];

$imagen file_get_contents($url);
$imagen imagecreatefromstring($imagen);
$imagex imagesx($imagen);
$imagey imagesy($imagen);
$proporcion $imagex $escala;
$imagex $imagex $proporcion;
$imagey $imagey $proporcion;
$nueva imagecreate($imagex,$imagey);

imagecopyresized($nueva,$imagen,0,0,0,0,$imagex,$imagey,imagesx($imagen),imagesy($imagen));

header("Content-Type: image/png");
imagepng($nueva);
imagedestroy($nueva);

?>
sesupone que al poner la URL y la escala te la cambia de tamaño.

Funciona perfectamente pero solo con IMAGENES .gif porque las JPG me las cambia de color. un ejemplo

Imagen GIF:

Imagen JPG


Alguna idea?
  #2 (permalink)  
Antiguo 21/10/2011, 18:53
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Problema al crear una Imagen con PHP

por lo que veo en tu script dices que el formato es png, a lo mejor por ahi va la cosa.
  #3 (permalink)  
Antiguo 21/10/2011, 18:57
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: Problema al crear una Imagen con PHP

Gracias por tu breve respuesta..

pero esto soolo es el formato de salida

header("Content-Type: image/png");

Lo acabo de cambiar por gif, jpg y nomas no jala .. alguna otra idea?.
  #4 (permalink)  
Antiguo 21/10/2011, 19:21
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: Problema al crear una Imagen con PHP

Acabo DE notar que solo se ve mal con las JPG, al probar con gif y png funciona bien

sigo sin entender porque con JPG falla u.u
  #5 (permalink)  
Antiguo 21/10/2011, 19:57
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Problema al crear una Imagen con PHP

lo probe con un png y tambien me fallo, tembien intente añadiendo
Código PHP:
Ver original
  1. $red = ImageColorAllocate($image, 255, 0,0);  
  2. $blue = ImageColorAllocate($image, 0, 0, 255);

y tampoco no se que podrá ser.
  #6 (permalink)  
Antiguo 21/10/2011, 20:02
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Problema al crear una Imagen con PHP

ahm creo que ya esta

Código PHP:
Ver original
  1. <?php
  2. $url = $_GET["url"];
  3. $escala = $_GET["escala"];
  4.  
  5. $imagen = file_get_contents($url);
  6. $imagen = imagecreatefromstring($imagen);
  7. $imagex = imagesx($imagen);
  8. $imagey = imagesy($imagen);
  9. $proporcion = $imagex / $escala;
  10. $imagex = $imagex / $proporcion;
  11. $imagey = $imagey / $proporcion;
  12. $nueva = imagecreatetruecolor($imagex,$imagey);
  13.  
  14. imagecopyresized($nueva,$imagen,0,0,0,0,$imagex,$imagey,imagesx($imagen),imagesy($imagen));
  15.  
  16. header("Content-Type: image/jpg");
  17. imagepng($nueva);
  18. imagedestroy($nueva);
  19.  
  20. ?>

la clave esta en createimagetruecolor
  #7 (permalink)  
Antiguo 21/10/2011, 20:20
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: Problema al crear una Imagen con PHP

Muchas gracias.

Me funciono estaba en createimagentruecolor :D

Gracias.

Etiquetas: 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 15:30.