watermark
geef plaatjes een watermark om the fly

home | index | menu | help

Er is geen CSS ondersteuning.

		

leuke meid

		

Er zijn van die slimmerikken die een mooie php-module in elkaar "flansen" om een watermark aan hun plaatjes toe te voegen. Om te beginnen vraag ik mij af of het nu echt noodzakelijk is om afbeeldingen te "verpesten" met wat voor watermark dan ook en ten tweede lijkt het mij onzinnig om dat "on the fly" te doen. Verspil geen server-capaciteit aan onzin. Als je per sé een plaatje wil verminken doe dat dan in een grafisch programma (gimp o.i.d.) en plaats de plaatjes statisch op jouw website.

Het heeft geen enkele zin om met een php-module een watermark op een plaatje te zetten als het origineel op de server bereikbaar blijft. Een béétje slimme bezoeker weet dan nog steeds het origineel te bemachtigen.

Vrijheid, blijheid... Als je onverhoopt plaatjes een watermark (on the fly) wilt geven, maak dan een .htaccess file aan met de navolgende inhoud:

		RewriteEngine On
		RewriteCond %{REQUEST_FILENAME} -f
		RewriteRule \.(gif|jpeg|jpg)$ watermark.php [QSA,NC]		
		

Maak een nieuwe file met de naam watermark.php en plaats de navolgende code daar in:

		<?php
			$pad = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
			$plaatje = imagecreatefromstring(file_get_contents($pad));
			$b = imagesx($plaatje);
			$h = imagesy($plaatje);
			$watermark = imagecreatefrompng('watermark.png');
			$wb = imagesx($watermark);
			$wh = imagesy($watermark);
			imagecopy($plaatje, $watermark, $b-$wb, $h-$wh, 0, 0, $wb, $wh);
			header('Content-type: image/jpeg');
			imagejpeg($plaatje);
			exit();
		?>		
		

Ik ga er van uit dat alles in dezelfde directory wordt geplaatst. Als je de files op een andere plek op jouw website plaatst, verander dan ook het pad in o.a. de .htaccess. Het plaatje op deze pagina is door deze procedure "behandeld". Als je even een watermark.png nodig hebt gebruik dan even de versie die hier gebruikt wordt.

cache 20-06-2010