Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2006, 13:30
Avatar de chalchis
chalchis
 
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta thumnails con fondo de color

hola amigos tengo un problema tengo un script que genera un thumnail
de un directorio de imagenes y las presenta para visualizarlas
sale todo bien, el problema es que deseo ponerle un fondo de color al area donde se muestran la imagen individual y no me sale me pone un fondo negro.

Utilizo el imagecolorallocate pero se usa si la imagen fue creada con
imagecreate
y yo utilizo ImageCreateTrueColor y imagecopyresampled para que la imagen
no se distorcione en vez de imagecreate y imagecopyresized

saludos espero sus comentarios
gracias

este es el codigo

<?php
//$width=$_GET['width'];
//$height=$_GET['height'];
$width = 120;
$height = 120;
$filename=$_GET['filename'];//imagen a original

//imagen desde el archivo
$src_image=imagecreatefromjpeg($filename);//devuelve un id de la imagen

//$image = imagecreate($width, $height);
$image=ImageCreateTrueColor($width, $height);//creamos la imagen con color real

//asignamos los colores
$bg = imagecolorallocate($image, 255, 255, 255);//para fondo
$verde = imagecolorallocate($image, 128, 255, 0);//para el color de la letra

$margin_x = 10;//margen x
$margin_y = 10;//margen y

$w=$width-2*$margin_x;//100
$h=$height-2*$margin_y;//100

$src_w=imagesx($src_image);//aqui obtenemos la anchura de la imagen original apartir del id generado
$src_h=imagesy($src_image);//aqui obtenemos la altura de la imagen original apartir del id generado
if(($w > $src_w) && ($h > $src_h))
{
$dst_w = $src_w;
$dst_h = $src_h;
}
else
{
//¿o escalamos la imagen de acuerdo a la dimensión horizontal?
if(($w/$h) < ($src_w/$src_h))
{
$dst_w=$w;
$dst_h=$w*$src_h/$src_w;
}
else//¿o la escalamos de acuerdo a la dimensión vertical?
{
$dst_w=$h*$src_w/$src_h;
$dst_h=$h;
}
}
//imagecopyresized($image, $src_image, ($width-$dst_w)/2, ($height-$dst_h)/2,0, 0, $dst_w, $dst_h, $src_w, $src_h);
imagecopyresampled($image, $src_image, ($width-$dst_w)/2, ($height-$dst_h)/2,0, 0, $dst_w, $dst_h, $src_w, $src_h);
$t=($width-$dst_w)/2;
$a=($height-$dst_h)/2;
//colocamos el texto sobre la imagen
imagestring($image, 0, $margin_x, ($height-$margin_y), $dst_w.'-'.$dst_h, $verde);

//encabezado correspondiente para los datos de salida
header("Content-type: image/jpeg");

//generamos la imagen
imagejpeg($image);

//liberamos la memoria
imagedestroy($image);
?>

http://img251.imageshack.us/my.php?image=thum4fy.jpg
__________________
gerardo