Foros del Web » Programando para Internet » PHP »

Minimo problema con thumbnails

Estas en el tema de Minimo problema con thumbnails en el foro de PHP en Foros del Web. Me funciona bien el script de abajo, pero lo que me ocurre es que la imagen la deteriora en cuanto a los colores de la ...
  #1 (permalink)  
Antiguo 17/07/2006, 18:13
Avatar de maxi_lance  
Fecha de Ingreso: julio-2006
Ubicación: Capital Federal
Mensajes: 220
Antigüedad: 11 años, 5 meses
Puntos: 2
Minimo problema con thumbnails

Me funciona bien el script de abajo, pero lo que me ocurre es que la imagen la deteriora en cuanto a los colores de la foto original.
Probe quitando a "imagecolorallocate" sus atributos pero sigue mostrando colores distintos al original
Espero puedan ver el error. Gracias !

Código PHP:
<?php
if($_GET['width'] > 0) {
    
$width $_GET['width'];
} else
{
    
$width 400;
}
if(
$_GET['height'] > 0) {
    
$height $_GET['height'];
} else
{
    
$height 350;
}
if(
$_GET['filename']) {
    
$filename $_GET['filename'];
} else
{
    
$filename 'foto_silla2.jpg';
}

//imagen desde el archivo jpg
$src_image imagecreatefromjpeg($filename);

$image imagecreate($width$height);

//asignamos los colores que ocuparemos más adelante
$bg imagecolorallocate($image200200200);
$white imagecolorallocate($image255255255);
$black imagecolorallocate($image100100100);

$margin_x 10;
$margin_y 10;

$w $width-2*$margin_x;
$h $height-2*$margin_y;

$src_w imagesx($src_image);
$src_h imagesy($src_image);

//¿desplegamos la imagen en la dimensión original?
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,
  
00$dst_w$dst_h$src_w$src_h);

//colocamos el texto sobre la imagen
//imagestring($image, 0, $margin_x, ($height-$margin_y), $filename, $white);

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

//generamos la imagen
imagejpeg($image);

//liberamos la memoria
imagedestroy($image);
?>
  #2 (permalink)  
Antiguo 17/07/2006, 18:17
Avatar de deskman  
Fecha de Ingreso: noviembre-2005
Ubicación: Chorrillos Lima - Peru
Mensajes: 28
Antigüedad: 12 años
Puntos: 1
Hola maxi_lance, el problema es que debes usar la funcion imagecreatetruecolor en vez de la funcion imagecreate, con la primera conseguiras mantener la calidad del color de la imagen original. Saludos
__________________
"El conocimiento que no se comparte no es conocimiento"
  #3 (permalink)  
Antiguo 17/07/2006, 19:32
Avatar de maxi_lance  
Fecha de Ingreso: julio-2006
Ubicación: Capital Federal
Mensajes: 220
Antigüedad: 11 años, 5 meses
Puntos: 2
buenisimo! funciona !! muchas Gracias Deskman!!!!

Última edición por maxi_lance; 18/07/2006 a las 10:21
  #4 (permalink)  
Antiguo 18/07/2006, 10:21
Avatar de maxi_lance  
Fecha de Ingreso: julio-2006
Ubicación: Capital Federal
Mensajes: 220
Antigüedad: 11 años, 5 meses
Puntos: 2
Lo que me surgió ahora es :
-estoy haciendo un sistema de ingreso de datos en php mediante dreamweaver. En el lugar en donde ingreso la img de la bd tengo esto :
Código PHP:
<td width="138" height="79"><img src='img/<?=$row_Recordset2["img_paqmes"];?>' width="138" height="79"></td>
lo que no se como hacer, es como ingresar el codigo de la funcion de la thumbnails para que me quede en el mismo lugar . Lo que probe es pegando el codigo pero me tira error.
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 02:53.