Olá! Sexta Feira, 05 de Dezembro de 2008.


Dicas CódigoFonte.net
Sábado, 10 de Janeiro de 2004

Thumbs - Criação dinâmica

Estive a procura de um script na qual trabalhasse com GD para a criação de miniaturas e acabei adaptando alguns deles em apenas um.
Olha só o que tive como resultado:
 
<?php

//  localização do diretorio de trabalho do seu site
$path = "/home/donna/public_html";

//  largura e altura que passarão a ter suas miniaturas
$largura = 120;
$altura = 90;

//  setando o path correto das imagens
$imagem_path = $path .'/'.$imagem; 

//  setando variavel $img como nulo
$img = null; 

//  recebendo a extenção da imagem
$extensao = strtolower(end(explode('.', $imagem_path))); 

//  verificando extenção para poder criar a miniatura
if ($extensao == 'jpg'  $extensao == 'jpeg') { 
  $img = @imagecreatefromjpeg($imagem_path); 
} else if ($extensao == 'png') { 
  $img = @imagecreatefrompng($imagem_path); 
} else if ($extensao == 'gif') { 
  $img = @imagecreatefromgif($imagem_path); 
} 

//  verifica se a imagem foi criada com sucesso
if ($img) { 

  //  pegando largura e altura atual da imagem
  $largura_atual  = imagesx($img); 
  $altura_atual = imagesy($img); 
  $escala  = min($largura/$largura_atual, $altura/$altura_atual); 

  //  encolhe a imagem se ela for maior que a altura e largura permitida
  if ($escala < 1) { 
    $nova_largura = floor($escala*$altura_atual); 
    $nova_altura = floor($escala*$largura_atual); 

    //  cria imagem temporaria
    $img_temp = imagecreatetruecolor($nova_largura, $nova_altura); 
    imagecopyresampled($img_temp, $img, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_atual, $altura_atual); 
    imagedestroy($img); 

    // copia imagem temporaria para a imagem atual
    $img = $img_temp; 
  } 
} 

//  se a imagem não foras criada com sucesso, cria uma de erro
if (!$img) { 
  $img = imagecreate($largura, $altura); 
  imagecolorallocate($img,204,204,204); 
  $conteudo  = imagecolorallocate($img,153,153,153); 
  $conteudo1 = imagecolorallocate($img,0,0,0); 
  imageline($img,0,0,$largura,$altura,$conteudo); 
  imageline($img,$largura,0,0,$altura,$conteudo); 
  imagestring($img, 2, 11, 26, 'Erro ao carregar',$conteudo1 ); 
  imagestring($img, 2, 30, 45, 'a imagem!',$conteudo1 ); 
} 

//  exibe a imagem no navegador
header('Content-type: image/jpeg'); 
imagejpeg($img); 
?> 
 

Para utilizar, salve-o como imagem.php e chame o script pelo navegador assim: imagem.php?imagens/minhaimagem.jpg.
O mesmo criará de forma dinâmica e rápida a miniatura da imagem qu esta no diretório imagens de sua homepage.
Lembre-se da utilização: imagem.php?imagens/fotografia.jpg.
A qualidade da miniatura dependerá da versão da biblioteca GD no seu servidor, dando sempre a preferencia pelas versões mais novas (GD 2).

Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login

Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:




Melhor Visualizado com
800x600 de Resolução

CodigoFonte.net » CodigoFonte.eti.br » Procurando o que comprar? » MeuMural.com.br » Todos os Direitos Reservados © 2002/2008

Procurando Notebooks, Câmeras Digitais, iPhones?

CompreDeTudo.com