Do not speak Portuguese? Translate this site with Google or Bing Translator
Manipulando imagens em PHP com o Intervention Image

Posted on: July 15, 2020 11:24 AM

Posted by: Renato

Categories: PHP Laravel

Views: 1001

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

 


0

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (16) Variados (109) PHP (133) Laravel (171) Black Hat (3) front-end (29) linux (114) postgresql (39) Docker (28) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (56) devops (25) nodejs (5) npm (3) nvm (1) git (8) firefox (1) react (7) reactnative (5) collections (1) javascript (7) reactjs (8) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (2) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (12) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (5) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (3) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (43) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (2) jwt (5) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (3) Architecture (4) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (2) autorizacao (2) authentication (4) authorization (3) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1) Axios (1) Fetch (1) Deepin (1) vue (4) nuxt (1) PKCE (1) Oauth2 (2) webhook (1) TypeScript (1) tailwind (1) gource (2)

New Articles



Get Latest Updates by Email