Pequenas Dúvidas

  • HTML
  • CSS
  • JS
  • PHP
  • MySQL
  • Marketing Digital
  • Photoshop

Manipulação de imagens em php com a biblioteca WideImage

PHP WideImage

Depois de publicar um arquivo de imagem (acesse a postagem sobre upload de arquivo aqui) em alguns casos é necessário redimensionar, girar ou até mesmo inserir uma marca d’água em uma imagem para então reutilizar essa imagem em outros locais de um projeto web.

Na postagem de hoje eu vou contar com uma biblioteca open-source de nome WideImage, no qual pode se obter através desse link.

Vamos começar então:

Após fazer o download do arquivo, vamos criar um novo arquivo PHP e nele faremos a inclusão do arquivo classe da biblioteca, como no exemplo abaixo:

<?php
/* RECUPERANDO O ARQUIVO WideImage */
require_once('lib/WideImage.php');

/*
| PEGANDO A IMAGEM
| Sintaxe: WideImage::load("caminho_da_imagem/nome_da_image.extensao");
*/
$img = WideImage::load("imagens/desert.jpg");

/*
| PARA REDIMENSIONAR UMA IMAGEM
| Sintaxe: $img->resize(largura, altura,'ajuste opcional','escala opcional');
*/
$miniatura = $img->resize(100, 75);

/*
| PARA SALVA A NOVA IMAGEM
| Sintaxe: $miniatura->saveToFile("caminho_da_imagem/novo_nome.extensao");
*/
$miniatura->saveToFile("imagens/mini_desert.jpg");

?>

Pronto, a nova imagem foi salva na nossa pasta (não esqueça que essa pasta precisa ter permissão de escrita e leitura).

E para colocar uma marca d’água na minha imagem?

O que será feito é uma mesclagem (a imagem que pode ser a logo como marca d’água e a imagem que irá receber a marca d’água) de duas imagens em uma, vamos lá:

<?php
/* RECUPERO A IMAGEM */
$img   = WideImage::load('imagens/mini_desert.jpg');

/* RECUPERO A MARCA D'AGUA */
$marca = WideImage::load('imagens/logo.png');

/*
| REALIZO A MESCLAGEM
| POSICIONANDO NO CANTO INFERIOR DIREITO COM OPACIDADE DE 50%
*/
$nova_img = $img->merge($marca, 'right - 10', 'bottom – 10', 50);

/* SALVO A NOVA IMAGEM IMAGEM */
$nova_img->saveToFile("imagens/desert_com_marca.jpg");
?>

OBS: Ao utilizar uma marca d’água em formato png (com transparência) ela deve estar no formato de 24bits.

Dúvidas nos comentários e até a próxima.

 

 

jan 29, 2015Rodrigo Sarri
Tipo de declaração DOCTYPE no HTML:Validando campos de um formulário com a Jquey e a biblioteca validate.
Comentários: 1
  1. Davi
    5 years ago

    E para mesclar isso com um sistema de upload, como eu faria?

    RespostaCancelar

Deixe uma resposta Cancelar resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

6 years ago 1 Comentário PHPmanipular imagem, php, wideimage
Posts recentes
  • Como abrir arquivos php no navegador? 21 de dezembro de 2015
  • Utilizando o F12, a ferramenta do desenvolvedor 7 de dezembro de 2015
  • Como recortar qualquer imagem usando a ferramenta caneta do Photoshop 3 de dezembro de 2015
  • Enviar dados de um formulário sem atualizar a página com JQUERY (ajax) 7 de abril de 2015
  • Separar as palavras de uma frase em PHP 9 de fevereiro de 2015
Categorias
  • Adobe Dreamweaver
  • CSS
  • Dicas
  • facebook
  • HTML
  • JQUERY
  • JS
  • Marketing Digital
  • MySQL
  • Photoshop
  • PHP
  • Sem categoria
Nuvem de tags
phpcssjqueryhtmljavascriptcss3inlinematrizlayoutfacebookfan pagedimensõesstyleimagensremover espaço em brancoclassdreamweaveradobetruqesdicaclasseidpáginacadastrar site no googleimplodeadicionar item de segurança banco de dadosvalidar emailarrayrandacertar horahorário de verãofuso horáriogerar número aleatóriovalidar campos phpmysqlsitemapcomo cadastrar site no buscadorcadastrar site no bingcadastrar site no yahoositemap para videossitemap para imagenscadastro no banco de dados phpsitemap para smartphonesitemap para googlecomo construir um sitemap
Outras postagens
PHP - Trabalhando com funções
Trabalhando com funções
6 years ago
Google Yahoo Bing - como cadastrar seu site nos principais buscadores
Cadastrar seu site ou Blog nos principais buscadores
6 years ago
Matemática
Como funciona a conversão de medidas informáticas?
6 years ago
Buscar
2018 © Pequenas Dúvidas - Aprenda um pouco de HTML CSS JS PHP MySQL e Marketing Digital