Jump to content
Rogério Dias

Marca D'água

Recommended Posts

Prezados amigos, bom dia.

Estou criando uma rede social onde os usuários publicarão suas fotos e preciso colocar a marca dágua nas fotos para evitar o roubo e uso indevido da imagem. Porém, essa marca dágua será com o nome do usuário logado. Exemplo: O meu nome de usuário é rdiasf e caso eu salve a imagem no meu PC, a foto será salva com a marca dágua com o meu nome de usuário espalhado pela imagem. Desta forma, se a pessoa utilizar a imagem ficará fácil identificar quem fez o download da imagem.

 

Exemplo:

O usuário X acessa o perfil do usuário Y.... clica para ver as fotos...
Quero que as fotos tenham uma marca d'agua com o nome do usuário visitante, pois, caso ele "roube" esta foto, ela será salva com o nome do usuário que fez o download. Daí, será possível identificar quem fez o download e banir este usuário da rede.

 

Se o usuário X visitar uma foto de um outro perfil... esta foto terá a marca "usuário X" espalhado por ela.

Se o usuário Z visitar a mesma foto no mesmo momento, a foto terá a marca "usuário Z" espalhado por ela.

 

Como faço isso?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By velys
      Tenho uma classe de redimensionamento de imagens e gostaria de acrescentar Marca d'agua nela e não estou conseguindo alguem pode me ajudar?
      ai vai minha classe

      //CLASSE DE IMAGEM, GERA MINIATURA class manipulaImagens{ function manipulaImagens(){ $this->imagem=''; $this->tipo=''; $this->maxLargura=0; $this->maxAltura=0; $this->radical=''; $this->id=0; $this->tabela=''; $this->campoimg=''; $this->campoid=''; $this->destino=''; $this->quad=false; $this->ext=''; $this->msg=''; $this->imgInfos=''; } function verificaTipo($imagem, $tipo){ $this->imagem=$imagem; $this->tipo=$tipo; if($this->imagem!='none'){ if($this->tipo=='image/pjpeg' || $this->tipo=='image/jpeg'){ $this->ext='.jpg'; $this->img = imagecreatefromjpeg($this->imagem); }else if($this->tipo=='image/gif'){ $this->ext='.gif'; $this->img = imagecreatefromgif($this->imagem); }else{ $this->msg="Tipo inválido de arquivo"; } $this->finaliza(); } } function verificaTamanhoImg($imagem){ $this->maxLargura=$maxLargura; $this->maxAltura=$maxAltura; $this->imgInfos = getimagesize($this->imagem); // PEGANDO INFORMAÇÕES DA IMAGEM $this->larguraAtual = $this->imgInfos[0]; $larguraAtual = $this->imgInfos[0]; $this->alturaAtual = $alturaAtual = $this->imgInfos[1]; if( $larguraAtual < 500 or $alturaAtual < 600 ){ $this->msg="Tipo inválido de imagem. </br>Essa Imagem é muito pequena. </br>Envie uma imagem maior</br></br> Imagem enviada tem o tamanho de ".$alturaAtual."x".$larguraAtual." pixels e deve ter no minimo 800x800pxls"; } $this->finaliza(); } function verificaImgIgual($imagem){ $this->maxLargura=$maxLargura; $this->maxAltura=$maxAltura; $this->imgInfos = getimagesize($this->imagem); // PEGANDO INFORMAÇÕES DA IMAGEM $this->larguraAtual = $this->imgInfos[0]; $larguraAtual = $this->imgInfos[0]; $this->alturaAtual = $alturaAtual = $this->imgInfos[1]; if( $larguraAtual == 300 and $alturaAtual == 250 ){ } else{ $this->msg="Tipo inválido de imagem. </br>Envie uma imagem do tamanho exato de 300x250px</br></br> Imagem enviada tem o tamanho de altura de".$alturaAtual."px e comprimento de".$larguraAtual." px e deve ter exatamente altura = 250px e comprimento = 300px"; } $this->finaliza(); } function setaDimensoes($maxLargura, $maxAltura, $quad=false){ $this->maxLargura=$maxLargura; $this->maxAltura=$maxAltura; $this->imgInfos = getimagesize($this->imagem); // PEGANDO INFORMAÇÕES DA IMAGEM $this->larguraAtual = $this->imgInfos[0]; $larguraAtual = $this->imgInfos[0]; $this->alturaAtual = $alturaAtual = $this->imgInfos[1]; if( $larguraAtual < 600 or $alturaAtual < 600 ){ $this->msg="Tipo inválido de imagem. </br>Essa Imagem é muito pequena. </br>Envie uma imagem maior</br></br> Imagem enviada tem o tamanho de ".$alturaAtual."x".$larguraAtual." pixels e deve ter no minimo 800x800pxls"; } if( $larguraAtual > $maxLargura && $alturaAtual <= $maxAltura ){ $ratio = $maxLargura / $larguraAtual; }elseif( $alturaAtual > $maxAltura && $larguraAtual <= $maxLargura ){ $ratio = $maxAltura / $alturaAtual; }elseif( $larguraAtual > $maxLargura && $alturaAtual > $maxAltura ){ $ratio1 = $maxLargura / $larguraAtual; $ratio2 = $maxAltura / $alturaAtual; $ratio = ($ratio1 < $ratio2)? $ratio1:$ratio2; }else{ $ratio = 1; } $larguraNova = floor($larguraAtual*$ratio); $alturaNova = floor($alturaAtual*$ratio); $canvas = imagecreatetruecolor ($larguraNova,$alturaNova); $posx=0; $posy=0; //SETANDO IMAGEM QUADRADINHA if($quad==true){ $dim=$maxLargura; if($larguraNova>$alturaNova){ $alturaNova = $dim; $larguraNova = $larguraAtual * $dim / $alturaAtual; $sobra = ($larguraNova - $dim) / 2; $posx=-$sobra; }else{ $larguraNova = $dim; $alturaNova = $alturaAtual * $dim / $larguraAtual; $sobra = ($alturaAtual - $dim) / 2; $posy=-$sobra; } $canvas = imagecreatetruecolor ($dim,$dim); } $this->larguraNova=$larguraNova; $this->alturaNova=$alturaNova; $this->canvas=$canvas; $this->posx=$posx; $this->posy=$posy; } function salvaImagem($radical,$id, $destino, $tabela, $campoImg, $campoId){ $dt=date("Hidmy"); $nome=$radical.'_'.md5($id).$dt.$this->ext; $bgc = imagecolorallocate($this->canvas, 255, 255, 255); imagefilledrectangle($this->canvas, 0, 0, 60, 60, $bgc); imagecopyresampled($this->canvas, $this->img, $this->posx, $this->posy, 0, 0, $this->larguraNova, $this->alturaNova, $this->larguraAtual, $this->alturaAtual); if(file_exists($destino.$nome)){ unlink($destino.$nome); } imagejpeg($this->canvas,$destino.$nome); $db= new bancoDeDados(); $sql="UPDATE $tabela SET $campoImg= '$nome' where $campoId=$id"; $rs=mysql_query($sql, $db->con); } // SE TEM MSG DE ERRO MANDA PRA PAGINA msg.php function finaliza(){ if($this->msg!=''){ $_SESSION['MENSAGEM'] = $this->msg; header('location: msg.php#msg'); exit; } } } // FIM DA CLASSE manipulaImagens
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.