Foros del Web » Programando para Internet » PHP »

background imagefill

Estas en el tema de background imagefill en el foro de PHP en Foros del Web. Hola buenas ¿por qué me está dibujando el cuadradito en negro en vez de en rojo tal y como espero? Podeis mirarlo en [link] www.arreglaordenador.com/imagenumber2.php[/link] ...
  #1 (permalink)  
Antiguo 14/12/2009, 07:50
Avatar de thosecars82  
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 16 años, 7 meses
Puntos: 0
background imagefill

Hola buenas
¿por qué me está dibujando el cuadradito en negro en vez de en rojo tal y como espero?
Podeis mirarlo en
[link] www.arreglaordenador.com/imagenumber2.php[/link]

[code=text]
<?php

$im = imagecreatetruecolor(100, 100);

// sets background to red
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
[/code]
Gracias

Última edición por thosecars82; 14/12/2009 a las 08:27
  #2 (permalink)  
Antiguo 14/12/2009, 12:01
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: background imagefill

Probaste cambiando la combinacion de colores a ver q pasa? Digo, porq por ahi el problema esta en otro lado
  #3 (permalink)  
Antiguo 14/12/2009, 12:04
Avatar de thosecars82  
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: background imagefill

Perdón, qué quieres decir con cambiar la configuración de colores?
Si lo que quieres decir, es probar con otro color que no sea el (255,0,0)-rojo, sí, he probado con otros, pero siempre me pinta el cuadradito en negro. ¿Se os ocurre alguna sugerencia por la que puede estar fallando?
Gracias
  #4 (permalink)  
Antiguo 14/12/2009, 12:12
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: background imagefill

Proba con esto:

Código PHP:
<?php
    $png 
imagecreatetruecolor(800600);
    
imagesavealpha($pngtrue);

    
$trans_colour imagecolorallocatealpha($png000127);
    
imagefill($png00$trans_colour);
   
    
$red imagecolorallocate($png25500);
    
imagefilledellipse($png400300400300$red);
   
    
header("Content-type: image/png");
    
imagepng($png);
?>
  #5 (permalink)  
Antiguo 14/12/2009, 12:41
Avatar de thosecars82  
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: background imagefill

Perodón, intenté lo que me dijiste y vi un cuadrado azul con círculo rojo dentro en el servidor local, pero un cuadrado negro con círculo rojo en el servidor remoto.
¿a qué se debe el distinto comportamiento?
  #6 (permalink)  
Antiguo 14/12/2009, 12:49
Avatar de thosecars82  
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: background imagefill

Cita:
Iniciado por thosecars82 Ver Mensaje
Perodón, intenté lo que me dijiste y vi un cuadrado azul con círculo rojo dentro en el servidor local, pero un cuadrado negro con círculo rojo en el servidor remoto.
¿a qué se debe el distinto comportamiento?
Bueno me acabo de dar cuenta de que lo que digo en el post que cito, es para internet explorer, pues con safari o con firefox, en vez de ver cuadrado azul en el servidor local, lo veo transparente, es decir, blanco. Sin embargo en remoto, sigo viendo cuadrado negro tanto en safari como en firefox como en internet explorer.
  #7 (permalink)  
Antiguo 14/12/2009, 13:16
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: background imagefill

estas seguro que tenes la libreria GD habilitada??
  #8 (permalink)  
Antiguo 14/12/2009, 13:25
Avatar de thosecars82  
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: background imagefill

Cita:
Iniciado por bacdavi Ver Mensaje
estas seguro que tenes la libreria GD habilitada??
Gracias pero creo que sí la tengo habilitada de acuerdo al phpinfo() del servidor remoto:
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.7
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled

Ok, intentaré ir más al grano del problema que me atasca.
Si vas a www.arreglaordenador.com verás un cuadrado negro donde se supone que debería aparecer el teléfono.
Eso es porque he incluido algo como esto:
<img id="number" src="<?php echo $rootPath;?>numberimage.php" />
El caso es que si tu llamas directamente a www.arreglaordenador.com/numberimage.php verás el cuadradito que te digo en negro. Sin embargo, cuando yo lo llamo en local, no veo eso, sino lo que realmente quiero ver, es decir el número 0000000 que es el almacenado en la variable $txt y que se corresponde con el código que adjunto y que está en el fichero www.arreglaordenador.com/numberimage.php
<?php
$fontDir = $rootPath . "fonts\\";
$fn = (isset($_GET['fn'])) ? $_GET['fn'] : "ARIAL.ttf";
$fs = (isset($_GET['fs'])) ? $_GET['fs'] : 10;
$maxWidth = 80 * $fs;

//$colorArray = array ("red", "green", "blue", "cyan", "magenta", "yellow", "black", "white", "gray");
$colorArray = array ("black", "black", "black", "black", "black", "black", "black", "black", "black");
$color = (isset($_GET['color'])) ? $colorArray[$_GET['color']] : $colorArray[rand(0, 8)];
$txt = (isset($_GET['txt'])) ? $_GET['txt'] : "0000000";
$coords = imagettfbbox($fs, 0, $fontDir . $fn, $txt);
$w = abs($coords[4]) + 8;
$h = abs($coords[5]) + 8;
$img = imagecreatetruecolor($w, $h);
$red = imagecolorallocate($img, 255,0,0);
$green = imagecolorallocate($img, 0,255,0);
$blue = imagecolorallocate($img, 0,0,255);
$cyan = imagecolorallocate($img, 0,255,255);
$magenta = imagecolorallocate($img, 255,0,255);
$yellow = imagecolorallocate($img, 255,255,0);
$black = imagecolorallocate($img, 0,0,0);
$white = imagecolorallocate($img, 255,255,255);
$gray = imagecolorallocate($img, 127,127,127);
$fill = ($color == "white") ? $black : $white;
imagefill($img, 0, 0, $fill);
$position = 4;
if (isset($_GET['position'])) $position = $_GET['position'];

imagettftext($img, $fs, 0, 0, $h-$position, $$color, "$fontDir$fn", $txt);

header("content-type: image/jpeg");
imagejpeg($img, "", 100);
imagedestroy($img);
?>
Agradezco cualquier idea.

Última edición por thosecars82; 05/04/2011 a las 15:24
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 22:17.