Galera, achei um codigo que eu achei na net, que gera tumbs de imagens diminuindo o tamanho delas, sera que alguém consegue me dar uma dica de como adaptar ele para pegar todas as imagens de uma pasta e diminuir elas mandando para uma outra pasta rerere. ou sera que to pedindo dimais
<?php
// DEFINE A IMAGEM DA QUAL SERÁ GERADA A MINIATURA
// Lembrar que essa imagem tem que estar no diretório do script...
// .. nenhum teste será feito para saber se ela existe
$imagem = "teste/Imagem 006.jpg"; // Tipo: JPG
// DEFINIR O NOME DO ARQUIVO PARA O THUMBNAIL
$thumbnail = explode('.', $imagem);
$thumbnail = $thumbnail[0]."_thumbnail.jpg";
// DEFINIR AS DIMENSÕES PARA O THUMBNAIL
$x = 120; // Largura
$y = 90; // Altura
// LÊ A IMAGEM DE ORIGEM
$img_origem = ImageCreateFromJPEG($imagem);
// PEGA AS DIMENSÕES DA IMAGEM DE ORIGEM
$origem_x = imagesx($img_origem); // Largura
$origem_y = imagesy($img_origem); // Altura
// ESCOLHE A LARGURA MAIOR E, BASEADO NELA, GERA A LARGURA MENOR
if($origem_x > $origem_y) { // Se a largura for maior que a altura
$final_x = $x; // A largura será a do thumbnail
$final_y = floor($x * $origem_y / $origem_x); // A altura é calculada
$f_x = 0; // Colar no x = 0
$f_y = round(($y / 2) - ($final_y / 2)); // Centralizar a imagem no meio y do thumbnail
} else { // Se a altura for maior ou igual à largura
$final_x = floor($y * $origem_x / $origem_y); // Calcula a largura
$final_y = $y; // A altura será a do thumbnail
$f_x = round(($x / 2) - ($final_x / 2)); // Centraliza a imagem no meio x do thumbnail
$f_y = 0; // Colar no y = 0
}
// CRIA A IMAGEM FINAL PARA O THUMBNAIL
$img_final = imagecreatetruecolor($x,$y);
// COPIA A IMAGEM ORIGINAL PARA DENTRO DO THUMBNAIL
ImageCopyResized($img_final, $img_origem, $f_x, $f_y, 0, 0, $final_x, $final_y, $origem_x, $origem_y);
// SALVA O THUMBNAIL
ImageJPEG($img_final, $thumbnail);
// LIBERA A MEMÓRIA
ImageDestroy($img_origem);
ImageDestroy($img_final);
?>
<html>
<head>
<title>THUMBNAIL GERADO: <?=$thumbnail;?></title>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a href="<?=$imagem;?>"><img src="<?=$thumbnail;?>" alt="Mostrar imagem original!" border="0"></a></td>
<td>
<p>
Imagem original: <?=$imagem." (".$origem_x." x ".$origem_y.")";?><br>
Imagem redimensionada: <?=" (".$final_x." x ".$final_y.")";?><br>
Thumbnail gerado: <?=$thumbnail." (".$x." x ".$y.")";?>
</p>
</td>
</tr>
</table>
</body>
</html>
Pergunta
foxbh
Galera, achei um codigo que eu achei na net, que gera tumbs de imagens diminuindo o tamanho delas, sera que alguém consegue me dar uma dica de como adaptar ele para pegar todas as imagens de uma pasta e diminuir elas mandando para uma outra pasta rerere. ou sera que to pedindo dimais
<?php // DEFINE A IMAGEM DA QUAL SERÁ GERADA A MINIATURA // Lembrar que essa imagem tem que estar no diretório do script... // .. nenhum teste será feito para saber se ela existe $imagem = "teste/Imagem 006.jpg"; // Tipo: JPG // DEFINIR O NOME DO ARQUIVO PARA O THUMBNAIL $thumbnail = explode('.', $imagem); $thumbnail = $thumbnail[0]."_thumbnail.jpg"; // DEFINIR AS DIMENSÕES PARA O THUMBNAIL $x = 120; // Largura $y = 90; // Altura // LÊ A IMAGEM DE ORIGEM $img_origem = ImageCreateFromJPEG($imagem); // PEGA AS DIMENSÕES DA IMAGEM DE ORIGEM $origem_x = imagesx($img_origem); // Largura $origem_y = imagesy($img_origem); // Altura // ESCOLHE A LARGURA MAIOR E, BASEADO NELA, GERA A LARGURA MENOR if($origem_x > $origem_y) { // Se a largura for maior que a altura $final_x = $x; // A largura será a do thumbnail $final_y = floor($x * $origem_y / $origem_x); // A altura é calculada $f_x = 0; // Colar no x = 0 $f_y = round(($y / 2) - ($final_y / 2)); // Centralizar a imagem no meio y do thumbnail } else { // Se a altura for maior ou igual à largura $final_x = floor($y * $origem_x / $origem_y); // Calcula a largura $final_y = $y; // A altura será a do thumbnail $f_x = round(($x / 2) - ($final_x / 2)); // Centraliza a imagem no meio x do thumbnail $f_y = 0; // Colar no y = 0 } // CRIA A IMAGEM FINAL PARA O THUMBNAIL $img_final = imagecreatetruecolor($x,$y); // COPIA A IMAGEM ORIGINAL PARA DENTRO DO THUMBNAIL ImageCopyResized($img_final, $img_origem, $f_x, $f_y, 0, 0, $final_x, $final_y, $origem_x, $origem_y); // SALVA O THUMBNAIL ImageJPEG($img_final, $thumbnail); // LIBERA A MEMÓRIA ImageDestroy($img_origem); ImageDestroy($img_final); ?> <html> <head> <title>THUMBNAIL GERADO: <?=$thumbnail;?></title> </head> <body> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><a href="<?=$imagem;?>"><img src="<?=$thumbnail;?>" alt="Mostrar imagem original!" border="0"></a></td> <td> <p> Imagem original: <?=$imagem." (".$origem_x." x ".$origem_y.")";?><br> Imagem redimensionada: <?=" (".$final_x." x ".$final_y.")";?><br> Thumbnail gerado: <?=$thumbnail." (".$x." x ".$y.")";?> </p> </td> </tr> </table> </body> </html>Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.