Redimensionando imagem com PHP
- Erick Giorgio
- 31 Dec 2022
Um exemplo de como redimensionar uma imagem mantendo a proporção com PHP.
Para este exemplo vamos usar o pacote
Requisitos de sistema
O pacote Intervention Image requer que os seguintes componentes funcionem corretamente.
Você pode verificar se tem as extensões instaladas usando a função phpinfo(); ou pode rodar o comando no terminal $ php -m.
Instalação
O melhor forma ou mais fácil e rápido de instalar o pacote é atravez do composerPara instalar a versão vais recente rode o seguinte comando.
$ php composer.phar require intervention/image
Agora o arquivo composer.json sera atualizado automaticamente e será criado/atualizado o arquivo vendor/autoload.php com as bibliotecas (PSR-4 autoload)
Uso
Você precisa carregar o arquivo de autoload do composer para instanciar objetos como mostrado no exemplo a seguir.
// inclui arquivo autoload
require 'vendor/autoload.php';
// importa a Classe Intervention Image Manager
use Intervention\Image\ImageManager;
// escolha do drive de imagem (imagick.gd)
$manager = new ImageManager(array('driver' => 'imagick'));
// Cria a instância
$image = $manager->make('public/foo.jpg')->resize(300, 200);
Redimensionar a imagem atual
// cria instãncia
$img = Image::make('public/foo.jpg')
// redimensiona em um tamanho fixo
$img->resize(300, 200);
// redimensiona apenas pela largura da image
$img->resize(300, null);
// redimensiona apenas a altura
$img->resize(null, 200);
// redimensione a imagem para uma largura de 300 e restrinja a relação de (altura automática)
$img->resize(300, null, function ($constraint) {
$constraint->aspectRatio();
});
// redimensione a imagem para uma altura de 200 e e restrinja a relação de (largura automática)
$img->resize(null, 200, function ($constraint) {
$constraint->aspectRatio();
Ver também