Em quase todos os sistemas é importante converter uma foto final em uma miniatura, existe na internet dezenas de scripts para fazer essa conversão.
Criei uma função para que esse processo seja simples, e que o redimensionamento fosse o mais proporcional possÃvel.
Função:
gerar_tumbs_real(largura,altura,qualidade,dir Original,dir Final);
Vamos ver o Exemplo:
foto Original
gerar_tumbs_real(190,90,100,’foto2.jpg’,'tumb2.jpg’);
foto Tumb
gerar_tumbs_real(90,190,100,’foto2.jpg’,'tumb3.jpg’);
foto Tumb
gerar_tumbs_real(90,90,100,’foto2.jpg’,'tumb1.jpg’);
foto Tumb
Abaixo seque a função:
1: <?2: function gerar_tumbs_real($t_x,$t_y, $qualidade,$c_original,$c_final){3:4: $thumbnail = imagecreatetruecolor($t_x,$t_y);5: $original = $c_original;6: $igInfo = getImageSize($c_original) ;7: switch ($igInfo['mime']) {8: case 'image/gif':9: if (imagetypes() & IMG_GIF) { $originalimage = imageCreateFromGIF($original) ; } else { $ermsg = 'GIF formato não suportado<br />'; }10: break;11: case 'image/jpeg':12: if (imagetypes() & IMG_JPG) { $originalimage = imageCreateFromJPEG($original) ; } else { $ermsg = 'JPEG formato não suportado<br />'; }13: break;14: case 'image/png':15: if (imagetypes() & IMG_PNG) { $originalimage = imageCreateFromPNG($original) ; } else { $ermsg = 'PNG formato não suportado<br />'; }16: break;17: case 'image/wbmp':18: if (imagetypes() & IMG_WBMP) { $originalimage = imageCreateFromWBMP($original) ; } else { $ermsg = 'WBMP formato não suportado<br />'; }19: break;20: default:21: $ermsg = $igInfo['mime'].' formato não suportado <br />';22: break;23: };24: $nLargura = $igInfo[0];25: $nAltura = $igInfo[1];26:27: if( ($nLargura > $t_x )and($nAltura > $t_y) ){28: if($t_x <= $t_y){29: $nLargura = (int) (($igInfo[0]*$t_y)/$igInfo[1]);30: $nAltura = $t_y;31: } else {32: $nLargura = $t_x ;33: $nAltura = (int) (($igInfo[1]*$t_x)/$igInfo[0]);34: if($nAltura < $t_y){35: $nLargura = (int) (($igInfo[0]*$t_y)/$igInfo[1]);36: $nAltura = $t_y;37: };38: };39: };40:41: $x_pos = ($t_x/2)-( $nLargura/2);42: $y_pos = ($t_y/2)-($nAltura/2);43: imagecopyresampled($thumbnail, $originalimage, $x_pos, $y_pos,0, 0, $nLargura, $nAltura, $igInfo[0],$igInfo[1]);44: imagejpeg($thumbnail,$c_final ,$qualidade);45: imagedestroy($thumbnail);46: return 'ok';47: };48: ?>
se preferir baixe o arquivo:




It‘s quite in here! Why not leave a response?