10:19:53

Redimensionando imagens automaticamente com o PHP

Redimensionando imagens automaticamente com o PHP

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.

Redimensionando imagens

<?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');

?>

Cortando imagens

<?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');

?>

Trocando a qualidade de imagens

<?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

Tags: php, WideImage
Categorias: PHP | Visualizações: 550 | Adicionado por: ShZlot | Avaliação: 0.0/0
Comentários: 0
avatar