Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tiaguinho

Criar miniatura

Recommended Posts

Caras.....to criando um site aonde tem um mural de fotos.Queria que no "admin" ele não só copiasse (upload) as imagens pro server mas sim que uma das cópias fosse como miniatura, ou seja, que ele alterasse o tamanho da minha imagem.O tamanho pode ser pré definido...será q alguém pode me ajudar???no aguardo...Tiaguinho B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae Thiaguinho... segue codigo de criaçao de thumbs.. agora eh so implementar nos uploads de fotos..

 

 

/// CODIGO PARA GERACAO DE THUMBS /////// 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 = "galeria/images/$reg[pasta]/$reg[foto01]"; // 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 = 60; // Largura   $y = 50; // 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 = ImageCreate($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);//// FIM DO CODIGO PARA GERAR THUMBS.. //////

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte galeraesse código aí gera o Thumb com dimensões 60 x 50. Como faço se eu tiver fotos de dimensões diferentes? Tipo, fotos verticais, horizontais etc...Alguém sabe como fazer de outra forma, sem precisar estabelecer realmente as dimensões, fazendo o esquema por porcentagem sei lá!?Aguardo,

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza.. deu isso:Warning: imagecreatetruecolor(): requires GD 2.0 or later in /home/nsdata/fusiondigital/public_html/junior/testes/fotos/teste_resize.php on line 37ou seja, meu servidor tem biblioteca GD inferior à 2.0 :blink: dancei :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!!

 

 

fiz em um teste com a versão do PHP que tem o comando ImageCreateTrueColor, mas a imagem ficou idêntica àquela que tava distorcida :o :blink:

 

que que houve?

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou no pó hehe, baixa a última versão (não a 5.0 que é beta, acho que é 4.3.alguma_coisa) que a GD 2.0 já vem junto. ;)

Aonde encontro essa biblioteca???URL????

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Código abaixo vai listar o conteúdo da pasta definida abaixo, e gerar as miniaturas para todas elas...

 

PHP [/tr][tr]

 

<?php

 

$fotos_eventos_pasta="pasta1";//altere aqui

 

 

echo "<b>Reindexando arquivos da Pasta $fotos_eventos_pasta</b><br>";

$evento="$fotos_eventos_pasta";//pasta que estão os arquivos divididos por eventos

$handle=opendir("fotos/fotos/$evento/imagens/");

while ($image = readdir($handle)) {

$arquivo="fotos/fotos/$evento/imagens/$image";//altere aqui

$thumbnail="fotos/fotos/$evento/thumbs/m_$image";//altere aqui

 

if ($image == '.' OR $image == '..'){echo"";}else {

 

if(file_exists($arquivo)){

$img = imagecreatefromjpeg("$arquivo"); // imagem original

$largurao = imagesx($img);// pegar a largura da amostra

$alturao = imagesy($img);// pegar a altura da amostra

//$alturad = 50; // altura em pixels

//$largurad = ($largurao*$alturad)/$alturao;// gera uma largura a partir da altura

$largurad = 50; // largura em pixels

$alturad = ($alturao*$largurad)/$largurao;// calcula a altura a partir da largura

$thumb = imagecreatetruecolor($largurad,$alturad); // cria a imagem que receberá o thumb

imagecopyresampled($thumb,$img,0,0,0,0,$largurad,$alturad,$largurao,$alturao); // cria o thumbnail

imagejpeg($thumb, "$thumbnail",100); // salva o thumb em um arquivo definido por você

 

echo "Arquivo $arquivo reindexado com sucesso!!!<br>";

}else{echo"";}

}//fecha if que vê se é "." ou ".."

}//fecha while

 

 

closedir($handle);

////////////////////////////////////

echo"<br><b>Arquivos da pasta ". strtoupper($evento) ." reindexados com sucesso!!!";

?>

 

 

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.