Manipulando imagens em PHP com o Intervention Image

Posted on: July 15, 2020 11:24 AM

Posted by: Renato

Categories: PHP Laravel

Views: 21

Manipulando imagens em PHP com o Intervention Image

Requerimentos: Que eu Usei

  • PHP >=7.2
  • Fileinfo Extension

Bibliotecas de Imagem Suportada:

  • GD Library (>=2.0)
  • Imagick PHP extension (>=6.5.7)

`composer require intervention/image`

Então, vamos utilizar a imagem abaixo como base

A image1.png está em 1920×1200, a primeira coisa que podemos fazer é redimensionar a imagem. Para isso, basta utilizarmos o seguinte código: imageResize.php

```

<?php

// incluindo o autoload de classes

require 'vendor/autoload.php';

// importando a classe Manager do Intervention Image

use Intervention\Image\ImageManager;

// instanciando um gerenciador de imagem com a "engine" escolhida (GD no caso)

$manager = new ImageManager(array('driver' => 'GD'));

// lendo a image1.png, redimencionando para 300x200 e salvando como image2.png

$image = $manager->make('image1.png')->resize(300, 200)->save('image2.png');

```

E o resultado é a image2.png com 300x300

Agora vamos por exemplo escrever um texto no topo da imagem. Para isso, usaremos o método text(). No arquivo imageText.php

```

<?php

// incluindo o autoload de classes

require 'vendor/autoload.php';

// importando a classe Manager do Intervention Image

use Intervention\Image\ImageManager;

// instanciando um gerenciador de imagem com a "engine" escolhida (GD no caso)

$manager = new ImageManager(array('driver' => 'GD'));

// lendo a image2.png

$image = $manager->make('image2.png');

// escrevendo o texto "O topo do mundo" na posição x=200px e y=10px e definindo atributos da font

$image->text('O topo do mundo',200,10, function($font) {

   $font->size(20); //defininindo o tamanho como 20

   $font->color('#ffffff'); //definindo a cor como branco

   $font->align('right'); //definindo o alinhamento como centralizado

})->save('image3.png'); //salvando como image3.png

```

Agora vamos colocar uma marca d’água na imagem. Escolha uma que voce vá usar.

Agora é só criarmos o imageWatermark.php

<?php

// incluindo o autoload de classes

require 'vendor/autoload.php';

// importando a classe Manager do Intervention Image

use Intervention\Image\ImageManager;

// instanciando um gerenciador de imagem com a "engine" escolhida (GD no caso)

$manager = new ImageManager(array('driver' => 'GD'));

// lendo a image3.png

$image = $manager->make('image3.png');

// colocando a watermark.png como marca d'água da imagem

$image->insert('watermark.png');

//salvando como image4.png

$image->save('image4.png');

E então teremos como image4.png com sua logo.

Além desses métodos apresentados, o Intervention Image possui muitos outros métodos que podem ser vistos na documentação oficial.

https://github.com/lucenarenato/watermark-with-imagemagick-PHP

https://imasters.com.br/back-end/manipulando-imagens-em-php-com-o-intervention-image

 

Share
About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment