Ir para conteúdo

POWERED BY:

Arquivado

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

Jacaré

thumbnails de imagem no Banco de Dados

Recommended Posts

Olá,Gerei um arquivo chamado mostraimagem.php que eu chamo através de uma tag IMG pasando o id da imagem. Este script busca a imagem que está salva no BD, assim:<IMG SRC="mostraimagem.php?id=12">OK! Até aí tudo bem... mas como redimensionar uma imagem que não existe em arquivo, apensas no banco? Eu não posso utilizar as funções do tipo ImageCreateFromAlgumaCoisa()!Alguém tem uma dica???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri a resposta, vou coloca-la aqui para se alguém precisar OK?É bastante simples...Digamos que os dados referente ao conteúdo da imagem estejam na variável $dados, então é só utilizar o comando:$imagem = ImageCreateFromString($dados);Pronto!!! Agora é só trabalhar como se fosse uma imagem qualquer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

$imagem = ImageCreateFromString($dados);

Gostaria que me mandassem o resto do código para redimensionar utilizando a biblioteca GD ou outra mais fácil caso exista, mas tem que redimensionar proporcionalmente para não ficar destorcida.Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae pessoal segue abaixo um código PLUG AND PLAY que eu desenvolvi para upload de imagens e cria duas imagens uma grande e uma pequena.

 

<?phpif ($formSend=="ok"){	// Caso a extensão seja do tipo JPEG gera os arquivos grande e o Thumbnail	if ($vFile_type == "image/pjpeg"){ 	 /*== Pega o tamanho da imagem para verificação ==*/ 	 $imgsize = GetImageSize($vFile);   	 /*== Checa tamanho  0=Largura, 1=Altura ==*/ 	 /*== Cria a variavel para o tamanho GRANDE ==*/ 	 if (($imgsize[0] > 300) || ($imgsize[1] > 150))  	 {    /*== Caso a altura ou a largura seja maior que o previsto      automaticamente calcula as novas dimensões ==*/     	 /*== Cria dimensões para imagem GRANDE ==*/   	 if ($imgsize[0] > $imgsize[1]){      $nova_largura = 300;      $nova_altura = round(($imgsize[1]*$nova_largura)/$imgsize[0]);   	 } else {      $nova_altura = 150;        $nova_largura = round(($imgsize[0]*$nova_altura)/$imgsize[1]);   	 } 	 } 	  	 /*== Cria a variavel para o tamanho THUMBNAIL ==*/ 	 if (($imgsize[0] > 90) || ($imgsize[1] > 80))  	 {    /*== Caso a altura ou a largura seja maior que o previsto      automaticamente calcula as novas dimensões ==*/     	 if ($imgsize[0] > $imgsize[1]){      $nova_largura_thumb = 90;      $nova_altura_thumb = round(($imgsize[1]*$nova_largura_thumb)/$imgsize[0]);   	 } else {      $nova_altura_thumb = 80;        $nova_largura_thumb = round(($imgsize[0]*$nova_altura_thumb)/$imgsize[1]);   	 } 	 } 	 header("Content-type: image/jpeg");   	 // Converte a imagem enviada para para utilizar com a biblioteca GD      $imagem = ImageCreateFromJPEG($vFile);   	    	 // Gera as imagens grande e pequena      $imagemGrande = ImageCreate($nova_largura,$nova_altura);      $imagemThumb = ImageCreate($nova_largura_thumb,$nova_altura_thumb);   	    	 // Redimenciona para os tamanhos corretos      ImageCopyResized($imagemGrande, $imagem,0,0,0,0,$nova_largura,$nova_altura,$imgsize[0],$imgsize[1]);      ImageCopyResized($imagemThumb, $imagem,0,0,0,0,$nova_largura_thumb,$nova_altura_thumb,$imgsize[0],$imgsize[1]);   	    	 /*== Salva as imagens com os respectivos nomes ==*/      ImageJPEG($imagemGrande, "fotogrande.jpg", 70);      ImageJPEG($imagemThumb, "fotopequena.jpg", 70);         	 /*== Destrói a imagem convertida para liberar espaço no servidor ==*/      ImageDestroy($imagem);         	 /*== Faça o que você quiser com esse código, mas não esqueça       de gravar no banco de dados          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/                	 /*== Redireciona para a página testeimg.php e mostra a foto ==*/      header("Location: testeimg.php?mostraimg=sim");      exit;	} else {  print "<p><font color=\"#FF0000\">A imagem enviada não é do tipo JPEG, operação cancelada.</font></p>";	}}?><h2>Upload e redimencionamento de imagem</H2>   	 <form action="testeimg.php" method="POST" enctype="multipart/form-data">   	 <input type="hidden" name="formSend" value="ok">   	 <p>Upload Imagem: <input type="file" name="vFile"><br> 	 <font size="1">Clique em procurar ou browse para localiar o arquivo JPEG</font><br> 	 <br> 	 <input type="submit" value="Upload Imagem"></p> 	 </form> 	  	 <?php     # Se foi criado a imagem, mostra na tela   	 if ($mostraimg){ 	 ?>      <img src="fotogrande.jpg"><br><br>      <img src="fotopequena.jpg"> 	 <?php   	 } 	 ?>

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utiliza a GD. Nas versões 4.3 ou superiores essa biblioteca já vem embutida ao php, sem precisar configuração adicional para utilizá-la!Abraços,José Oliveira

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.