Foros del Web » Programando para Internet » PHP »

Duda con GD2

Estas en el tema de Duda con GD2 en el foro de PHP en Foros del Web. Estoy tratando de crear un thumbnail de una imagen sacada desde una BD, la cosa es que quiero darle al thumbnail la misma calidad de ...
  #1 (permalink)  
Antiguo 29/02/2004, 01:13
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Duda con GD2

Estoy tratando de crear un thumbnail de una imagen sacada desde una BD, la cosa es que quiero darle al thumbnail la misma calidad de la imagen original, aunque pese un poco mas, pero bueno. He probado de esta manera y nada:
Código PHP:
 imagecreatetruecolor($new_w,$new_h); 
me dan alguna sugerencia o ayuda ??
Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 29/02/2004, 01:16
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Que es lo que pasa cuando aplicas imagecreatetruecolor(); ??
__________________
Manoloweb
  #3 (permalink)  
Antiguo 29/02/2004, 12:51
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Pienso que ...

Lei que eso lo que hace es que te crea el thumbnail al mismo color de la imagen original pero nada, me reduce cantidad la calidad de la imagen. Tanto que se nota de aqui a una legua. NO se que función tenga que usar, pues recientemente comenze a trabajar con GD2 y no estoy muy experimentado.
Salu2º
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 29/02/2004, 13:11
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Pues efectivamente, con imagecreatetruecolor se crea una base para manejar imagenes con color verdadero (mejor calidad de imagen).

Yo tengo varias aplicaciones que usan esa funcion, y la verdad es que la calidad de las imagenes es excelente.

Tal vez no la estas usando de forma correcta. Por que no posteas el codigo con el que generas tu thumbnail?

__________________
Manoloweb
  #5 (permalink)  
Antiguo 29/02/2004, 13:27
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Alla va

Este es el código
Código PHP:
 $conexion mysql_connect("10.7.3.25","root","") or die(mysql_error());
      
mysql_select_db("marxismo",$conexion);
      
$sql "SELECT imagen FROM noticias WHERE idnoticia='".$_GET['id']."'";
    
$consulta mysql_query($sql,$conexion);
    
$imagen mysql_result($consulta,0,"imagen");
    
header ("Content-type: image/jpeg");
     
$img imagecreatefromstring($imagen);
    
$picsize 150;
    
$new_w imagesx($img);
    
$new_h imagesy($img);
    
$aspect_ratio $new_h $new_w;
    
$new_w $picsize;
    
$new_h abs($new_w $aspect_ratio);
    
$dst_img imagecreatetruecolor($new_w,$new_h);
    
imagecopyresized($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img));
    
imagepng($dst_img,'',500); 
la imagen original la tome de una foto de lamaslinda.com que tienen muy buena calidad.

Cita:
Esto lo tome de un tutorial que puso Cluster
Salu2
__________________
Ing. Reynier Pérez Mira
  #6 (permalink)  
Antiguo 29/02/2004, 13:42
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Creo que el problema esta aqui:

imagepng($dst_img,'',500);

Si al final de todo creas un PNG, le estas matando TODA la paleta truecolor, pues PNG se maneja con 256 colores. Cambialo por:

imagejpg($dst_img,'',500);

A ver si ayuda.

__________________
Manoloweb
  #7 (permalink)  
Antiguo 29/02/2004, 14:00
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Ahora mas o menos

Ahora me salio con todos los colores pero me corta la parte superior de la imagen como 45 px mas o menos. Que es ahora
__________________
Ing. Reynier Pérez Mira
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 12:12.