Watermark al volo in PHP
Ecco un semplice codice per aggiungere al volo un watermark alle immagini utilizzando PHP e le librerie GD, l'utilizzo è semplicissimo, basta inserire il seguente codice in un file watermark.php<?php
$source = $_GET['img'];
$watermark_file = "wm.png";
$image = imagecreatefromjpeg($source);
$source_w = imagesx($image);
$source_h = imagesy($image);
$watermark = imagecreatefrompng($watermark_file);
$watermark_w = imagesx($watermark);
$watermark_h = imagesy($watermark);
$dest_x = $source_w - $watermark_w - 5;
$dest_y = $source_h - $watermark_h - 5;
imagecopy($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_w, $watermark_h);
header('Content-type: image/jpeg');
imagejpeg($image);
?>
Successivamente basterà richiamare il file in questo modo
<img src="watermark.php?img=immagine.jpg" />
Commenti
1. Andrea (21.04.10 18:12)
Ho già risposto, credo anche in maniera esaustiva, funziona anche con file remoti, php deve però avere il parametro "allow_url_open" attivato
2. Evan (21.04.10 17:30)
Quoto la domanda di hysterik del 23.03.10!
3. Andrea (24.03.10 00:06)
Funziona anche se le immagini sono su un altro server, php deve avere "allow_url_fopen" abilitato però
4. hysterik (23.03.10 23:36)
questo script è a dir poco perfetto ma se il file watermark.php si trova da una parte e le immagini da tutt altra parte non funzia..come posso fare in modo da usare un unico file watermark,php? ho provato a modificare il percorso :
in:
ma non mi funziona :(
in:
ma non mi funziona :(
5. Vathel (13.03.09 12:19)
Grande!!!
Grazie ;)
Grazie ;)
