Foros del Web » Programando para Internet » PHP »

JSON y Libreria GD

Estas en el tema de JSON y Libreria GD en el foro de PHP en Foros del Web. Wenas... Estoy teniendo unos problemas con el famoso JSON y la Libreria GD. Lo único que se y estoy segurisimo que es en esta parte ...
  #1 (permalink)  
Antiguo 12/05/2012, 18:45
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 6 meses
Puntos: 10
JSON y Libreria GD

Wenas...

Estoy teniendo unos problemas con el famoso JSON y la Libreria GD.

Lo único que se y estoy segurisimo que es en esta parte de la clase:

Código PHP:
Ver original
  1. function createTheLogo($logo){
  2.         $this->logo = $this->createImage($logo);
  3.         $this->logo_width = imagesx($this->logo);
  4.         $this->logo_height = imagesy($this->logo);
  5.         $this->new_image_logo = $this->resizeLogo();
  6.         $this->wt_x = $this->calc_pos_x($this->pos_x);
  7.         $this->wt_y = $this->calc_pos_y($this->pos_y);        
  8.        
  9.         imagecopy($this->new_image, $this->new_image_logo, $this->wt_x, $this->wt_y, 0, 0, $this->ancho_logo, $this->alto_logo);
  10.     }
  11.    
  12.     function resizeLogo(){
  13.        
  14.         if(($this->im_width < $this->ancho_logo) || ($this->im_height < $this->alto_logo)){
  15.             $this->ancho_logo = (($this->im_height) / $this->im_height) * $this->im_width;
  16.             $this->alto_logo = (($this->im_width) / $this->im_width) * $this->im_height;
  17.         }else{
  18.             $this->ancho_logo = $this->logo_width/2;
  19.             $this->alto_logo =  $this->logo_height/2;
  20.         }
  21.        
  22.        
  23.         $this->new_image_logo = imagecreatetruecolor($this->ancho_logo, $this->alto_logo);
  24.         imagealphablending($this->new_image_logo,false);
  25.        
  26.         imagecopyresized($this->new_image_logo, $this->logo, 0, 0, 0, 0, $this->ancho_logo , $this->alto_logo, $this->logo_width, $this->logo_height);
  27.        
  28.         return $this->new_image_logo;
  29.        
  30.     }

Ya que comentando la linea cuando llamo a la funcion el script vuelve a funcionar...

Lo que hago es upload images, subo imagenes mediante un formulario y con esta clase le agrego un logo para identificar la web. (marca de agua / watermark)

no entiendo porque esta fallando esa parte con el JSON ya que en ningun lado muestro datos, error creo que no esta dando ya que me muestra el logo en la imagen correctamente.

No entiendo mucho de JSON recien estoy comenzando aprender esta parte.

El script vuelve a funcionar cuando comento estas 2 lineas:

Código PHP:
Ver original
  1. $this->new_image_logo = $this->resizeLogo();
  2.  
  3.  imagecopy($this->new_image, $this->new_image_logo,  $this->wt_x, $this->wt_y, 0, 0, $this->ancho_logo,  $this->alto_logo);

El error que me tira del lado de cliente es:

SyntaxError: JSON.parse: unexpected character
  #2 (permalink)  
Antiguo 12/05/2012, 18:56
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: JSON y Libreria GD

JSON o Notación de objetos en Javascript, seguro que te refieres a ello?, me parece que el problema lo tienes en el cliente, porque GD no tiene nada que ver con JSON
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 12/05/2012, 18:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: JSON y Libreria GD

Pues en el código que expones no muestra nada de JSON... también es probable que el error sea porque el script te esta generando algún error, así que es mejor que trates de ver el error generado antes de pasarlo por JSON.

Saludos.
  #4 (permalink)  
Antiguo 12/05/2012, 19:09
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: JSON y Libreria GD

@maycolalvarez no muestro el script del json porque se que está del lado del php el error ya que como comenté al borrar esas 2 lineas el script funciona. No entiendo el error porque se está dando ya que uso el mismo tipo de funciones para redimensionar otra imagen y funciona correctamente.

@GatorV como puedo ver si esta funcion createLogo o resizeLogo me esta dando error de algún tipo de error? ya que si separo este script (marca de agua) con el upload image funciona correctamente.
Al hacer la llamada con jquery Json no puedo mostrar ningún "echo" o "alert".

No se si me explique muy bien.
  #5 (permalink)  
Antiguo 12/05/2012, 19:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: JSON y Libreria GD

Pues tienes que hacer debug, pero lo que yo haría es usar Firefox y ver la respuesta con Firebug que te regresa AJAX, ya que el Firebug te muestra tal cual la respuesta sea o no JSON.

Saludos.
  #6 (permalink)  
Antiguo 12/05/2012, 19:46
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: JSON y Libreria GD

@GatorV @maycolalvarez

muchas gracias por la pronta respuesta y la ayuda brindada se los agradezco mucho.

ya solucione el problema era en esta linea:

Código PHP:
Ver original
  1. if(($this->im_width < $this->ancho_logo) || ($this->im_height < $this->alto_logo)){

NO estaba definiendo el objeto $this->ancho_logo por lo que daba error y el JSON se trancaba.

Despues de tantas horas programando suele pasar estas equivocaciones tan simples.

De nuevo,,, muchas gracias a los 2

Etiquetas: formulario, imagenes, json, libreria
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 18:20.