Foros del Web » Programando para Internet » PHP »

color de pixel

Estas en el tema de color de pixel en el foro de PHP en Foros del Web. Hola: Estoy intentando generar un gráfico de 1x1 y del color que se le pase como parámetro, pero no lo consigo, solo consigo pixeles negros ...
  #1 (permalink)  
Antiguo 05/12/2004, 12:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
color de pixel

Hola:

Estoy intentando generar un gráfico de 1x1 y del color que se le pase como parámetro, pero no lo consigo, solo consigo pixeles negros

El código que tengo ahora es éste:

Código:
<?php
header("Content-Type: image/jpeg");
function rgbColor($fondo)	{
	$red = 100;
	$green = 100;
	$blue = 100;
	if( eregi( "([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})", $fondo, $retornar ) )
		return $retornar;
	else
		return "[0, $red, $green, $blue]";
}
$altura = 1;
$anchura = 1;

if (isset($_GET["color"])) $color = $_GET["color"];
else $color = "0000FF";

//$destino = ImageCreateTrueColor($anchura, $altura);
$destino = ImageCreate($anchura, $altura);
$fondo = rgbColor($color);
$fondoColor = imageColorAllocate($destino, $fondo[1], $fondo[2], $fondo[3]);
imageSetPixel($destino, 0, 0, $fondoColor);
@imagejpeg($destino);
imagedestroy($destino);
?>
No recuerdo haber visto ejemplos...

Muchas gracias por adelantado.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #2 (permalink)  
Antiguo 05/12/2004, 16:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola otra vez:

Ya encontre el fallo:
Los valores rgb estaban en hexadecimal y faltaba pasarlos a decimal...
Me parece que había alguna cosilla más, pero menos importante.

Código:
<?php
header("Content-Type: image/png");
function rgbColor($fondo)	{
	$red = 50;
	$green = 50;
	$blue = 50;
	if( eregi( "([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})", $fondo, $retornar ) )
		return $retornar;
	else
		return "[0, $red, $green, $blue]";
}
$altura = 1;
$anchura = 1;

if (isset($_GET["color"])) $color = $_GET["color"];
else $color = "0000FF";

$destino = ImageCreateTrueColor($anchura, $altura);
//$destino = ImageCreate($anchura, $altura);
$fondo = rgbColor($color);
$colorFinal = (hexdec($fondo[1]) * 256 * 256) + (hexdec($fondo[2]) * 256) + hexdec($fondo[3]);
ImageSetPixel($destino, 0, 0, $colorFinal);
@imagepng($destino);
Imagedestroy($destino);
?>
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 14:10.