Boa noite a todos!
Estou desenvolvendo um site para uma instituição sem fins lucrativos – que dentro em breve estará na página Trabalhos – onde eu deveria criar uma galeria de fotos, então, resolvi deixar o maior trabalho para o sistema e não para o usuário, ou seja, a única ação do usuário seria escolher a foto e o sistema faria o redimensionamento, diminuiria a qualidade e faria um thumbnail.
Fiz algumas pesquisas e encontrei uma classe muito interessante que faz tudo parecer muito fácil, o nome da classe, como esperado, é “Thumbnail”! Clique aqui para conferir a página da classe.
Bom, depois de fazer o download, basta fazer um include da classe no seu código e começar a brincar com ela. Dentre várias coisas que ela faz, as mais interessantes são:
- Redimensionamento para um máximo de width e/ou height
- Redimensionamento por porcentagem do tamanho original
- Recorta a imagem a partir do centro dela
- Recorta a imagem
- Gira a imagem
- Cria um reflexo estilo Apple™
Aqui vai um exemplo da classe em funcionamento para que você possa entender melhor:
< ?php
include_once('thumbnail.inc.php');
$thumb = new Thumbnail('exemplo.jpg');
$thumb->resize(250,250);
$thumb->cropFromCenter(100);
$thumb->save('caminho/para/o/arquivo.jpg',80);
?>
Essas 5 linhas de código carregam a imagem, redimensionam para um máximo de 250px de width e 250px height, recortam um quadrado de 100px por 100px à partir do centro e salvam no local desejado com 80% de qualidade. Fantástico não? O resultado é um thumbnail perfeito!
Outras funções são as seguintes:
//Recortar a imagem
$thumb->crop(0,0,100,50);
//Girar a imagem em 90º em sentido horário
$thumb->rotateImage();
//Girar a imagem em 90º em sentido anti-horário
$thumb->rotateImage('CCW');
//Criar um reflexo estilo Apple™
$thumb->createReflection(40,40,80,true,'#a4a4a4');
Se você quer ver um exemplo da classe em ação, clique aqui.
Espero que esse post tenha sido útil.
Dúvidas? Utilize o campo de comentário logo abaixo.
Abraços!






Parabens pelo código…
aproveitando o que vc usa para mostrar os codigos…
esse plugin, qual é o nome?
abs
Ducca
Responder
Olá Thiago,
Obrigado pelo comentário!
Esse é o dp.SyntaxHighlighter, muito bom!
Dê uma olhada no site do projeto:
http://www.dreamprojections.com/syntaxhighlighter
Abraços!
Responder
Olá Pedro! Parabéns pelo post… Estou precisando d uma ajudinha para aplicar isso no meu script usando banco numa consulta sql (recordset), vc tem algum exemplo?
Estava usando este anteriormente:
$objDynamicThumb1 = new tNG_DynamicThumbnail("", "KT_thumbnail1");
$objDynamicThumb1->setFolder("images/produtos/");
$objDynamicThumb1->setRenameRule("{RsListaOfertas.foto}");
$objDynamicThumb1->setResize(200, 160, true);
$objDynamicThumb1->setWatermark(false);
Mas quero usar com o giro…Obrigado
Responder
Olá Eliézer,
Não entendi muito bem o que você está querendo. Você está usando a classe que passei no post?
Abs!
Responder
Oi Pedro, 1º já agradeço pela atenção…Essa classe q eu estava usando é da extensão DeveloperToolBox do dreamweaver…Mas quero usar essa nova função para manipular melhor a imagem. Mas ainda ñ consegui saber como usa-la numa consulta SQL de um recordset do dreamweaver.
Eu estava usando assim c/ a ADDT:
//RECORDSET:
mysql_select_db($database_adega_divino, $adega_divino);
$query_RsListaOfertas = "SELECT /*AQUI OS CAMPOS*/ ORDER BY RAND()";
$RsListaOfertas = mysql_query($query_RsListaOfertas, $adega_divino) or die(mysql_error());
$row_RsListaOfertas = mysql_fetch_assoc($RsListaOfertas);
$totalRows_RsListaOfertas = mysql_num_rows($RsListaOfertas);
// Show Dynamic Thumbnail da ADDT:
$objDynamicThumb1 = new tNG_DynamicThumbnail("", "KT_thumbnail1");
$objDynamicThumb1->setFolder("images/produtos/");
$objDynamicThumb1->setRenameRule("{RsListaOfertas.foto}");
$objDynamicThumb1->setResize(200, 160, true);
$objDynamicThumb1->setWatermark(false);
//HTML:
<img src="<?php echo $objDynamicThumb1->Execute(); ?>">
A grande dúvida é como adaptar a sua nova função usando essa mesma consulta acima? Obrigado.
Responder
Eliézer,
O que você pega no banco? O caminho da imagem, certo?
Com o caminho dela é só fazer como está no post.
Abraços!
Responder
Parabéns sempre com ótimos artigos, sabendo que vc sempre colabora com seus leitores gostaria de aproveitar o espaço para ver se poderia postar um artigo sobre a manipulação de imagem com jcrop; consigo fazer o formulário para enviar a imagem registrar no banco de dados mas não consigo gravar a região selecionada….
Responder
Pedro Teixeira respondeu:
10 de maio de 2010
@Rodrigo,
Me desculpe mas ainda não tive a oportunidade de usar o Jcrop, mas deixei aqui como sugestão do post e quando surgir um tempo vou dar atenção para ele.
Obrigado pela sugestão!
Abraço!
Responder
Blz…
Essa semana tbm estou cheio de coisa e tive que abandonar ele, mas vou tentar na próxima semana e se funcionar mando pra vc…
Acho que pra vc não terá muito segredo…
Obrigado
Responder
Pedro Teixeira respondeu:
11 de maio de 2010
@Rodrigo,
Perfeito, se eu tiver um tempo te dou uma força.
Abraço!
Responder