Foros del Web » Programando para Internet » PHP »

Problema con imagecolorallocate() y imagettftext()

Estas en el tema de Problema con imagecolorallocate() y imagettftext() en el foro de PHP en Foros del Web. Hola, con el código de abajo quiero que se agregue un texto a la imagen, el problema es que en vez de color rojo, el ...
  #1 (permalink)  
Antiguo 02/01/2008, 18:05
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 19 años, 10 meses
Puntos: 36
De acuerdo Problema con imagecolorallocate() y imagettftext() [SOLUCIONADO]

Hola, con el código de abajo quiero que se agregue un texto a la imagen, el problema es que en vez de color rojo, el texto sale en color negro. ¿Cuál puede ser el problema?



Código PHP:
<?

$archivo 
= "auto.jpg";

$destino_imagen = "./" . date("Y-m-d") . ".jpg";


// Obtengo información de la imagen

$info_imagen = getimagesize("../temp/$archivo");
$alto = $info_imagen[1];
$ancho = $info_imagen[0];
$tipo_imagen = $info_imagen[2];





// Calculando nuevas medidas

$imagen_ancho = 500;
$imagen_alto = 500;

if(
$ancho > $imagen_ancho OR $alto > $imagen_alto){

      if((
$alto - $imagen_alto) > ($ancho - $imagen_ancho))
      {
            
$imagen_ancho = round($ancho * $imagen_alto / $alto,0) ;       
      }
else
      {
            
$imagen_alto = round($alto * $imagen_ancho / $ancho,0);   
      }
}

else 
      {
            
$imagen_alto = $alto;
            
$imagen_ancho = $ancho;
      }









// Creando imagen
      
$imagen_nueva = imagecreatetruecolor($imagen_ancho, $imagen_alto);
$imagen_vieja = imagecreatefromjpeg("../temp/$archivo");

      
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $imagen_ancho, $imagen_alto, $ancho, $alto);
              


// Color del texto
               
$color = "#FF0000";

$color_1 = "0x" . substr($color, 1,2) . ""; 
$color_2 = "0x" . substr($color, 3,2) . "";
$color_3 = "0x" . substr($color, 5,2) . "";

$alto2 = $imagen_alto-20;
          
$color2 = imagecolorallocate($imagen_nueva, $color_1, $color_2, $color_3);
imagettftext($imagen_nueva,10,0,4,$alto2,$color2,"../fuentes/arial_bold.ttf","texto"); 


if (!
imagejpeg($imagen_nueva, $destino_imagen));


?>
Muchas gracias y FELIZ AÑO NUEVO!

Última edición por hgp147; 01/02/2008 a las 08:35 Razón: [SOLUCIONADO]
  #2 (permalink)  
Antiguo 01/02/2008, 08:30
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 19 años, 10 meses
Puntos: 36
Re: Problema con imagecolorallocate() y imagettftext() [SOLUCIONADO]

SOLUCIONADO:

Código PHP:
<?

$archivo 
= "auto.jpg";

$destino_imagen = "./" . date("Y-m-d") . ".jpg";


// Obtengo información de la imagen

$info_imagen = getimagesize("../temp/$archivo");
$alto = $info_imagen[1];
$ancho = $info_imagen[0];
$tipo_imagen = $info_imagen[2];





// Calculando nuevas medidas

$imagen_ancho = 500;
$imagen_alto = 500;

if(
$ancho > $imagen_ancho OR $alto > $imagen_alto){

      if((
$alto - $imagen_alto) > ($ancho - $imagen_ancho))
      {
            
$imagen_ancho = round($ancho * $imagen_alto / $alto,0) ;       
      }
else
      {
            
$imagen_alto = round($alto * $imagen_ancho / $ancho,0);   
      }
}

else 
      {
            
$imagen_alto = $alto;
            
$imagen_ancho = $ancho;
      }









// Creando imagen
      
$imagen_nueva = imagecreatetruecolor($imagen_ancho, $imagen_alto);
$imagen_vieja = imagecreatefromjpeg("../temp/$archivo");

      
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $imagen_ancho, $imagen_alto, $ancho, $alto);
              


// Color del texto
               
$color = "FF0000";

$alto2 = $imagen_alto-20;
          
$color2 = imagecolorallocate($imagen_nueva, hexdec('0x' . $color{0} . $color{1}), hexdec('0x' . $color{2} . $color{3}), hexdec('0x' . $color{4} . $color{5}));
imagettftext($imagen_nueva,10,0,4,$alto2,$color2,"../fuentes/arial_bold.ttf","texto"); 


if (!
imagejpeg($imagen_nueva, $destino_imagen));


?>
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:57.