Foros del Web » Programando para Internet » PHP »

problemas al generar imagenes dinamicas

Estas en el tema de problemas al generar imagenes dinamicas en el foro de PHP en Foros del Web. hola tengo un problema que no puedo resolver- tengo un script que genera una imagen a traves de php: Código PHP: <? session_start (); /********************************************************** ...
  #1 (permalink)  
Antiguo 06/07/2010, 11:25
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años, 7 meses
Puntos: 5
problemas al generar imagenes dinamicas

hola tengo un problema que no puedo resolver-
tengo un script que genera una imagen a traves de php:

Código PHP:
<?
session_start
();

/**********************************************************
genero el codigo aleatorio
**********************************************************/
$str "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
$cad "";
for(
$i=0;$i<12;$i++)
{
$cad .= substr($str,rand(0,62),1);
}

$codigo =($cad);

/******************************************
meto los datos temporales en el cache
******************************************/
        
$_SESSION[cod] = $codigo;
        
session_register("$_SESSION[cod]");


/*******************************************
  Cálculo inicial para el gráfico
*******************************************/
// configurar constantes
$width=200;        // ancho de la imagen en pixeles - encajará en 640x480
$left_margin 50// espacio a dejar a la izquierda de la imagen
$right_margin50// lo mismo para la derecha
$bar_height 40;
$bar_spacing $bar_height/2;
$font "arial.ttf";
$title_size14// puntos
$main_size12// puntos
$small_size12// puntos
$text_indent 10// posición para las etiquetas de texto a la izquierda

// configurar el punto inicial desde el cual dibujar
$x $left_margin 60;  // colocar la línea de base para dibujar del gráfico
$y 30;                 // lo mismo
$bar_unit = ($width-($x+$right_margin)) / 100;   // un "punto" en el gráfico

// cálcula el alto del gráfico -  barras más espacios más el margen
$height 30;

/*******************************************
  Configurar la imagen base
*******************************************/
// crear un lienzo en blanco
$im imagecreate($width,$height);

// Asignar colores
$white=ImageColorAllocate($im,255,255,255);
$blue=ImageColorAllocate($im,0,64,128);
$black=ImageColorAllocate($im,0,0,0);
$pink ImageColorAllocate($im,255,78,243);

$text_color $pink;
$percent_color $black;
$bg_color $blue;
$line_color $black;
$bar_color $blue;
$number_color $pink;

// Crear "lienzo" para dibujar
ImageFilledRectangle($im,0,0,$width,$height,$bg_color);

// Dibujar borde en torno al lienzo
ImageRectangle($im,0,0,$width-1,$height-1,$line_color);

// Añadir Título
$title "$cad";
$title_dimensions ImageTTFBBox($title_size0$font$title);
$title_length $title_dimensions[2] - $title_dimensions[0];
$title_height abs($title_dimensions[7] - $title_dimensions[1]);
$title_above_line abs($title_dimensions[7]);
$title_x = ($width-$title_length)/2;  // centrarlo en x
$title_y = ($y $title_height)/$title_above_line// centrarlo en y
ImageTTFText($im$title_size0$title_x$title_y,
             
$text_color$font$title);


/*******************************************
  Mostrar imagen
*******************************************/
Header("Content-type:  image/png");
ImagePng($im);


/*******************************************
  Limpiar
*******************************************/
ImageDestroy($im);
?>
esto despues lo llamo desde otro archivo normal colocando en una etiqueta imagen :
Código:
<img src="codigo.php" alt="" />
esto funciona muy bien abro en mi localhost y se visualiza la imagen con el codigo pero cuando lo subo al servidos hosting deja de funcionar y el problema no es que no tengan activadas la libreria GD porque si lo tienen activado pero no se porque no se visualiza
bueno espero que alguin me pueda dar una mano ..
  #2 (permalink)  
Antiguo 06/07/2010, 13:08
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 9 meses
Puntos: 10
Respuesta: problemas al generar imagenes dinamicas

Quiza por la version de php.
Si es por eso puede que estas lineas den algun error:

Código PHP:

$_SESSION
[cod] = $codigo
session_register("$_SESSION[cod]"); 

//prueba solo asi
$_SESSION['cod'] = $codigo;

//la función session_register () puede estar obsoleta 
Manual:

Warning
Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

http://php.net/manual/es/function.session-register.php
  #3 (permalink)  
Antiguo 06/07/2010, 13:11
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: problemas al generar imagenes dinamicas

el servidor puede tener desactualizada la librería GD, pero si no soporta o tiene la librería FreeType es por ello que también no funcionaria
  #4 (permalink)  
Antiguo 06/07/2010, 15:23
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años, 7 meses
Puntos: 5
Respuesta: problemas al generar imagenes dinamicas

gracias .
no creo que sea el register global porque directamente no me muestra la imagen eso en realidad no forma parte de la imagen sino que tiene una funcion quees la de guardar el codigo que muestra la imagen .
pero me fije en el phpinfo.php del servidor y efectivamente no tiene el FreeType y en mi phpinfo.php si esta asique espero que sea ese el problema me voy a comunicar con los del hosting para platearles esto gracias maycolalvarez.
soy vastante nuevo con lo de las imagenes en php
  #5 (permalink)  
Antiguo 06/07/2010, 16:17
Avatar de el_gustavo  
Fecha de Ingreso: mayo-2009
Mensajes: 117
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: problemas al generar imagenes dinamicas

Emmm no hace falta que hables con el hosting, simplemente la descargas de algun archivo de fuentes y la variable font quedaria:
$font = "ruta/hacia/arial.ttf"
Asi con cualquier fuente que tengas problemas.

Obviamente, a la fuente la tendrias que subir al hosting,.

Etiquetas: dinamicas, 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 08:49.