Para muitos programadores PHP, é fundamental que após o upload as imagens seja redimensionadas para não ocupar muito espaço no disco. E isso não é difícil!
Mas porque perder tempo com isso? Não é melhor limitar o upload de imagens, permitindo apenas uma resolução? Sim.. É mais fácil pra você.. mas não pro end-user. É melhor você perder uma ou duas horas e fazer um sistema muito mais fácil de ser usado e facilitar a vida do usuário… Vai ser melhor pra você e pra ele, acredite.
Existe uma classe pronta de PHP que eu gosto muito, chama WideImage. Vou mostrar aqui como usá-la para redimensionar (resize) e cortar (crop) imagens automaticamente, gerando (ou não) arquivos novos. Para um sistema que gera miniaturas (thumbs) isso é mais do que o suficiente.
<?php
// Chama o arquivo com a classe WideImage
require('/caminho/WideImage.inc.php');
// Carrega a imagem a ser manipulada
$image = wiImage::load('/caminho/foto.jpg');
// Redimensiona a imagem
$image = $image->resize(400, 300);
// Salva a imagem em um arquivo (novo ou não)
$image->saveToFile('/caminho/nova_foto.jpg');
?>
<?php
// Chama o arquivo com a classe WideImage
require('/caminho/WideImage.inc.php');
// Carrega a imagem a ser manipulada
$image = wiImage::load('/caminho/foto.jpg');
// Corta a imagem (Argumentos: X1, Y1, X2, Y2)
$image = $image->crop(10, 20, 110, 120);
// Faz um quadrado da posição [X1;Y1] até [X2;Y2]
// Salva a imagem em um arquivo (novo ou não)
$image->saveToFile('/caminho/nova_foto.jpg');
?>
<?php
// Chama o arquivo com a classe WideImage
require('/caminho/WideImage.inc.php');
// Carrega a imagem a ser manipulada
$image = wiImage::load('/caminho/foto.jpg');
// Salva a imagem em um arquivo com 80% de qualidade
$image->saveToFile('/caminho/nova_foto.jpg', null, 80);
?>
Via thiagobelem.net
| Comentários: 0 | |