Biblioteca PHP para manipulação e processamento de imagens
Biblioteca PHP de código aberto que permite criar, ler, modificar, redimensionar e cortar imagens JPEG, PNG, GIF, TIF, BMP, ICO, PSD e WebP com facilidade.
O Intervention Image é uma biblioteca de manipulação e processamento de imagens PHP de código aberto que oferece aos desenvolvedores de software a capacidade de criar, modificar e compor imagens dentro de seu próprio aplicativo PHP. O Intervention Image tem suporte opcional para Laravel e vem com um Service Provider e Fachadas para fácil integração. A biblioteca é muito estável e ajuda você a gerenciar todas as tarefas de maneira fácil e com o mínimo de código.
A biblioteca fornece suporte para as duas bibliotecas de processamento de imagem mais comuns GD Library e Imagick. Ele forneceu suporte para muitos formatos de arquivo de imagem populares, como JPEG, PNG, GIF, TIF, BMP, ICO, PSD, WebP e muitos mais. Os formatos de imagem legíveis dependem do driver escolhido (GD ou Imagick) e da sua configuração local.
A biblioteca inclui suporte para vários recursos importantes de processamento de imagem, como criar imagens do zero, ler imagens existentes, editar imagens existentes, criar miniaturas de imagens, aplicar efeitos a imagens, adicionar marcas d'água a imagens, formatar arquivos de imagem grandes, redimensionar imagens de acordo com às suas necessidades, desenhe texto e formas em imagens, recupere informações de imagem e muito mais.
Introdução à imagem de intervenção
Requer PHP 5.4+ com extensão GD2. A melhor maneira de instalar o Intervention Image é rápida e facilmente com o Composer. Por favor, use o seguinte comando.
Instalar imagem de intervenção via Composer
$ php composer.phar require intervention/image
Criar novas imagens via PHP
A biblioteca de imagem de intervenção de código aberto permite que o desenvolvedor de software crie uma nova instância de imagem vazia usando comandos PHP dentro de seus próprios aplicativos. Os desenvolvedores podem fornecer largura e altura personalizadas e também podem definir uma cor de fundo de sua escolha. Se a cor não for definida, será usado o fundo padrão da tela, que é transparente.
Criar nova imagem e obter o do arquivo através de PHP
// create an image
$img = Image::make('public/foo.jpg');
// get file size
$size = $img->filesize();
Lendo imagens por meio da API PHP
A biblioteca Free Intervention Image fornece suporte para a leitura de diferentes tipos de imagens dentro do aplicativo JavaScript com facilidade. Você precisa fornecer um caminho completo da imagem e o restante será facilmente executado pela biblioteca. Você também pode fornecer o URL para a imagem e ela pode lê-la facilmente para você. Ele também pode ler dados de imagem binária, dados de imagem codificados em base64 e muito mais.
Cortar imagem usando PHP
A biblioteca de imagens de intervenção incluiu a funcionalidade para cortar imagens programaticamente usando algumas linhas de código JavaScript. A biblioteca permite que os desenvolvedores forneçam largura e altura personalizadas da parte retangular e recortem essa parte da imagem atual de acordo com a largura e a altura fornecidas. Opcionalmente, você também pode definir as coordenadas x, y para deslocar o canto superior esquerdo do recorte para um local específico.
Imagem de colheita por PHP
// open file a image resource
$img = Image::make('public/foo.jpg');
// crop image
'$img->crop(100, 100, 25, 25);
Como usar filtros de imagem
Os filtros são vários comandos que podem enfatizar determinados recursos ou remover outros recursos. Ele oferece a opção útil de agrupar comandos de transformação de imagem em um objeto dedicado e o objeto pode ser usado para aplicar efeitos em uma imagem. O objeto definirá qual comando usar e em qual ordem. A biblioteca de imagens de intervenção também permite definir seus próprios filtros e aplicá-los com facilidade.
Aplicar Filtro para Imagem via PHP
namespace Intervention\Image\Filters;
class DemoFilter implements FilterInterface
{
const DEFAULT_SIZE = 10;
private $size;
// Creates new instance of filter
public function __construct($size = null)
{
$this->size = is_numeric($size) ? intval($size) : self::DEFAULT_SIZE;
}
public function applyFilter(\Intervention\Image\Image $image)
{
$image->pixelate($this->size);
$image->greyscale();
return $image;
}
}