• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jcfr

marca d'agua em imagens

7 mensagens neste tópico

boas tardes a todos, já experimentei vários exemplos que encontrei na internet e os que consegui colocar a funcionar davam sempre algum erro....

queria adicionar uma marca de agua a uma imagem quando mostro a imagem...

de preferencia utilizando codigo php, mas se der com javascript ou css tb pode ser...

alguém me consegue ajudar nisso ou indicar um tutorial que seja realente bom para isso dentro das linguagens que indiquei?

obrigado a toda a comunidade que me tem ajudado emenso....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

obrigado pela correcção e pela ajuda, entretanto já tinha conseguido resolver a questão deixo aqui o codigo que encontrei porque pode ser util a alguem:

u8tiliza-se um fixeiro que mostra a imagem e uma que cria a imagem com a marca de agua, a que cria a imagem com marca de agua é a water.php:

<?php
#variavel que recebe a url/caminho da imagem
$filename = $_GET['img'];
header('Content-type: image/jpeg');

#dados da mascara [caminho do arquivo que serve de mascara]
$marca =  "img/logo.gif";
$imagem_marca =   ImageCreateFromGif($marca);
$pontoX1 =   ImagesX($imagem_marca);
$pontoY1 =   ImagesY($imagem_marca);

#recupera as dimensoes da imagem
list($width, $height) = getimagesize($filename);

#definindo tamanho padrão para as fotos
$new_width = 513;
$new_height = 343;

#redesenhando a imagem
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

#Habilitando a opcao abaixo irá criar a mascara com a imagem marca d’agua
ImageCopyMerge($image_p, $imagem_marca, 10, 10, 0, 0, $pontoX1, $pontoY1, 30);

imagejpeg($image_p, null, 100);
imagedestroy($image_p);
?>

noutra página chamada teste.php coloca-se a exibição da imagem:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" target="_top" href="../estilos.css">
<title>Untitled Document</title>

</head>

<body>

<img src="water.php?img=http://www.ump.edu.br/metro/files/image/japao2.jpg">
</body>
</html>

a imagem será mostrada no teste.php já com a marca de água, este codigo não foi criado por mim mas deixo-o pois pode ser bastante util a quem precisar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Suponho que por marca de água queiras proteger a imagem de direitos de autor, etc. Não experimentei a função, mas olhando para o código que apresentas (HTML), parece-me ser bastante simples obter uma versão sem marca de água (tens ali o endereço da imagem original bem visivel).

Talvez fosse melhor uma função de PHP que aceitasse como parâmetro uma imagem, criasse uma imagem temporária numa pasta e devolvesse o endereço da imagem gerada. Apenas esse endereço era visível no código fonte HTML, não havendo possibilidade do utilizador obter uma versão sem marca de água.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a imagem que coloquei é apenas um exemplo, procurei uma imagem qualquer na net e meti como exemplo, no meu caso em vez do caminho da imagem na net aparece algo do genero <?php echo $row[28] ?> sendo que o caminho está a ser retirado da base de dados e nao directamente do directorio, a ideia é usar a função para aplicar a varias imagens e nao a uma fixa....

o exemplo que dei da base de dados é apenas um exemplo também...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tudo bem, mas como a lógica é fazer com que o utilizador apenas tenha acesso à versão com marca de água, não ficaria muito bem o url original ali acessível no código fonte, foi só mesmo por isso. :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim eu percebi :D obrigado a todos já agora se poderem fechar o topico agradecia

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora