Fórum Colocar marca d agua no gif animado em PHP #574304
27/01/2017
0
Olá!
Eu estou desenvolvendo um sistema em que preciso colocar marca d'agua em algumas imagens, está tudo funcionando ok, porem no gif animado creio que deva ter que fazer um método diferente, pois quando coloco o filtro em gif's ele transforma em uma imagem estática.
Alguém sabe alguma forma que eu possa adicionar a marca d'agua em um gif animado sem perder a animação?
Desde já agradeço!
Eu estou desenvolvendo um sistema em que preciso colocar marca d'agua em algumas imagens, está tudo funcionando ok, porem no gif animado creio que deva ter que fazer um método diferente, pois quando coloco o filtro em gif's ele transforma em uma imagem estática.
Alguém sabe alguma forma que eu possa adicionar a marca d'agua em um gif animado sem perder a animação?
Desde já agradeço!
Otavio Rocha
Curtir tópico
+ 0
Responder
Posts
31/01/2017
João Lima
?php
$imagem_original = "foto.jpg";//nome da imagem original
$logo_img = "logo.gif";//nome da logo (utilize png ou gif com fundo transparente)
$padding = 10;//define o espaco que a logo tera no lado esquerdo e na aprte de baixo
$opacidade = 80;//define a porcentagem de transparencia da logo
$logo = imagecreatefromgif($logo_img);//cria a logo
$imagem = imagecreatefromjpeg($imagem_original);//cria a imagem original
if(!$imagem || !$logo) die("Erro: imagem original ou logo não foram carregadas!");//vereficar se as imagens foram carredas
$logo_size = getimagesize($logo_img);//obtem as dimensões da logo
$logo_width = $logo_size[0];//atribui a largura da logo
$logo_height = $logo_size[1];//atribui a altura da logo
$imagem_size = getimagesize($imagem_original);//obtem as dimensões da imagem original
$dest_x = $imagem_size[0] - $logo_width - $padding;//define a posição horizontal que a logo se posicionará
$dest_y = $imagem_size[1] - $logo_height - $padding;//define a posição vertical que a logo se posicionará
imagecopymerge($imagem, $logo, $dest_x, $dest_y, 0, 0, $logo_width, $logo_height, $opacidade);//cópia marca d'água na imagem original
// exibe a imagem com a marca d'agua aplicada
header("content-type: image/jpeg");
imagejpeg($imagem);
imagedestroy($imagem);
imagedestroy($logo);
?>
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)