Ver Mensaje Individual
  #10 (permalink)  
Antiguo 13/02/2010, 13:30
Avatar de santris
santris
 
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: DW reescalar imagen dinamica

Hola,
Si no te funciona el de skateloco mirate este ya está casi a punto solo necesita que realices la consulta a la db.

Saludos

Código PHP:
<?php
function fun_resizejpg($imgsrc,$imgnew,$newx,$newy,$quality){  
if( 
file_exists($imgsrc) )     {  
list(
$srcx,$srcy,$ext) = getimagesize($imgsrc);       
switch( 
$ext)       {    
case 
:     
$old imagecreatefromgif($imgsrc);                     
$img imagecreate($srcx,$srcy);
imagecolorallocate($img255255255);                             
imagecopy($img,$old,0,0,0,0,$srcx,$srcy); 
break;               
case 
:     
$img imagecreatefromjpeg($imgsrc); 
break;                           
case 
:     
$img imagecreatefrompng($imgsrc);
 break;    
case 
6:     
$img imagecreatefromwbmp($imgsrc);  
break;               
default:
print_r(getimagesize($imgsrc)); 
return 
false;       }                
$tamx=$srcx;         
$tamy=$srcy;        
if(
$srcx>$newx)
$pv=($srcx>$srcy)?$srcx/$newx:$srcy/$newy;        
elseif(
$srcy>$newy)
$pv=($srcy>$srcx)?$srcy/$newy:$srcx/$newx;        
if(isset(
$pv)){    
$srcx=ceil($srcx/$pv);     
$srcy=ceil($srcy/$pv);     }               
$new imagecreatetruecolor ($srcx$srcy);             
imagecopyresampled ($new$img0000$srcx$srcy$tamx$tamy);                     
imagejpeg($new,(substr($imgnew,0,strrpos($imgnew,"."))).".jpg",$quality);        
imagedestroy($img);              
return 
true;    

else 
return 
false;
}
//Aquí haces la consulta a la tabla

while($row=mysql_fetch_array($query)){
$imgsrc"./images/".$row["campo_imagen"]; //url de la imagen a escalar
$imgnew"./images/".$row["campo_imagen"]; //url de la imagen escalada
$ancho=getimagesize($imgsrc);
$factor=400/$ancho[0]; //las escala a 400px de ancho conservando las proporciones
$newx=$ancho[0]*$factor;
$newy=$ancho[1]*$factor
$quality=80
fun_resizejpg($imgsrc,$imgnew,$newx,$newy,$quality);
}              
?>