Algumas das blogueiras começaram a me pedir marcas d’água nas fotos. Existem opções de plugins para fazer isso, só que, geralmente, a marca d’água é colocada na hora do “upload” e todas as fotos que foram importadas do Blogger ou WordPress.com ou mesmo fotos anteriores ao plugin ficariam sem a marca. Sem contar que alguns programas inserem a marca diretamente na foto, criando um arquivo novo e - na minha opinião - estragando a foto original com a marca d’água.
Fazendo uma pesquisa para marcar as fotos para a Patrícia Amorim e para o site Na Provence, eu dei de cara com esse artigo do site WP Glamour: http://wpglamour.com/how-to-watermark-all-your-uploaded-images/
Você vai precisar editar o seu arquivo .htaccess e fazer upload dos arquivos watermark.php e das imagens que serão a marca d’água para a raiz do seu WordPress (instalado no seu servidor, claro).
O script funciona super bem. Claro que não é para todos os blogs. Se você costuma usar imagens que achou na net ou que já têm outras marcas d’água, eu diria que esse script não é pra você, uma vez que não tem como escolher em qual imagem a marca vai aparecer ou não. Ela vai aparecer automaticamente em todas as imagens, por isso, só se você usa estritamente imagens próprias eu indicaria esse script.
Primeiro passo:
Adionar esse código no seu arquivo .htaccess (antes da linha < / IfModule > ).
RewriteRule ^(.*)wp-content/uploads/(.*) $1watermark.php?src=wp-content/uploads/$2
Segundo passo:
Criar um arquivo .php chamado watermark.php e colocá-lo onde seu blog WordPress está instalado (onde estão seus arquivos como wp-config e as pastas wp-content, wp-admin e wp-include)
Seu arquivo watermark.php vai ficar assim:
$src = $_GET['src'];
header('Content-type: image/jpeg');
//this will prevent the watermark from showing up in the thumbnail images
if (eregi("150x150", $src)) {
$watermark = imagecreatefrompng('empty.png');
} else {
$watermark = imagecreatefrompng('watermark.png');
}
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
if(eregi('.gif',$src)) {
$image = imagecreatefromgif($src);
}
elseif(eregi('.jpeg',$src)||eregi('.jpg',$src)) {
$image = imagecreatefromjpeg($src);
}
elseif(eregi('.png',$src)) {
$image = imagecreatefrompng($src);
}
else {
exit("Your image is not a gif, jpeg or png image. Sorry.");
}
$size = getimagesize($src);
$dest_x = $size[0] - $watermark_width - 0;
$dest_y = $size[1] - $watermark_height - 0;
imagecolortransparent($watermark,imagecolorat($watermark,0,0));
imagecopyresampled($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $watermark_width, $watermark_height);
imagejpeg($image, "", 95);
imagedestroy($image);
imagedestroy($watermark);
Repare que o tamanho da sua miniatura (thumbnail) neste arquivo é o tamanho padrão 150×150 pixels. Se você usa qualquer outro valor, maior ou menor, deverá mudar esse número no arquivo.
O motivo pelo qual a miniatura está com o valor explícito é que elas não terão marca d’água, por serem muito pequenas. Resumindo este arquivo está dizendo que imagens 150 x 150 terão a marca d’água “empty.png” e todas as outras terão a marca d’água “watermark.png”.
Você deve editar a imagem “watermark.png” para mostrar sua imagem ou texto antes de fazer o upload dos arquivos para o seu servidor.
Clique aqui para fazer um download das instruções (em inglês, tirada do site WP Glamour) e todos os arquivos necessários.
ps: esse script não funcionou pra mim com o plugin Lightview (ele acaba indo para a página da foto), mas está funcionando bem junto com o ShadowBoxJS.