Intervention Image para PHP: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é Intervention Image e para que serve?

\n\n

Intervention Image é uma biblioteca PHP poderosa e conveniente para processamento de imagens. Ela fornece uma interface simples e expressiva para realizar as tarefas mais comuns: redimensionamento, corte, aplicação de marcas d'água, filtragem, trabalho com cores e muito mais.

\n\n

O principal objetivo da biblioteca é abstrair a complexidade de trabalhar com GD e Imagick (as duas principais extensões PHP para processamento de imagens) e oferecer uma API única e limpa. Em vez de escrever dezenas de linhas de código para cada operação, você pode fazer isso com uma única linha.

\n\n

Para que serve?

\n
    \n
  • Simplicidade: Sintaxe intuitiva, semelhante ao jQuery.
  • \n
  • Flexibilidade: Funciona tanto com GD quanto com Imagick (a escolha é sua).
  • \n
  • Funcionalidade: Suporta todas as operações principais: redimensionar, cortar, girar, sobrepor texto e imagens, filtros (preto e branco, sépia, desfoque, etc.).
  • \n
  • Segurança: Previne vulnerabilidades típicas relacionadas ao upload de imagens.
  • \n
  • Compatibilidade: Funciona com frameworks populares (Laravel, Symfony, CakePHP) e CMS (WordPress, Joomla).
  • \n
\n\n

Se você precisa criar uma miniatura para avatar, comprimir uma imagem para a web, sobrepor um logotipo ou aplicar um efeito de "foto antiga" — o Intervention Image resolve isso em questão de segundos.

\n\n

Instalação

\n\n

A instalação do Intervention Image é feita através do Composer — o gerenciador de pacotes padrão para PHP.

\n\n

Passo 1: Certifique-se de ter o Composer instalado.

\n

Caso não tenha, baixe-o em getcomposer.org.

\n\n

Passo 2: Instale a biblioteca.

\n

Abra o terminal na raiz do seu projeto e execute o comando:

\n\n
composer require intervention/image
\n\n

Este comando baixará a biblioteca e todas as suas dependências para a pasta vendor.

\n\n

Passo 3: Inclua o autoloader do Composer.

\n

No seu script PHP (geralmente no início), adicione a linha:

\n\n
require_once 'vendor/autoload.php';
\n\n

Importante: Para a biblioteca funcionar, o servidor deve ter uma das extensões instaladas: gd ou imagick. Normalmente, o GD já vem habilitado por padrão. Se você usar Imagick, certifique-se de que ele está instalado e ativo no php.ini.

\n\n

Instalação no Laravel (automática):

\n

No Laravel 5.5+, a biblioteca é registrada automaticamente. Em versões mais antigas, você precisa adicionar o service provider e o facade em config/app.php:

\n\n
'providers' => [\n    // ...\n    Intervention\\Image\\ImageServiceProvider::class,\n],\n\n'aliases' => [\n    // ...\n    'Image' => Intervention\\Image\\Facades\\Image::class,\n],\n
\n\n

Início rápido com exemplo de código

\n\n

Vamos direto ao ponto. Suponha que temos uma imagem photo.jpg na mesma pasta do script. Queremos redimensioná-la para 300 pixels de largura, mantendo a proporção, e salvá-la como thumb.jpg.

\n\n
<?php\nrequire_once 'vendor/autoload.php';\n\nuse Intervention\\Image\\ImageManager;\n\n// Cria um gerenciador de imagens com o driver 'gd' (padrão)\n$manager = new ImageManager(['driver' => 'gd']);\n\n// Abre o arquivo\n$image = $manager->make('photo.jpg');\n\n// Redimensiona: largura 300, altura automática (proporcional)\n$image->resize(300, null, function ($constraint) {\n    $constraint->aspectRatio(); // Mantém a proporção\n});\n\n// Salva o resultado\n$image->save('thumb.jpg');\n\necho "Miniatura criada!";\n?>\n
\n\n

Análise do código:

\n
    \n
  1. new ImageManager(['driver' => 'g

Recommendations