PHP: kaip ant paveiksliuko uždėti vandens ženklus (angl. watermark)
Kai internetinėje svetainėje prisireikia pažymėti paveiksliuką, t.y. uždėti jam vandens ženklus, tai padaryti visai nesudėtinga. Reikia tik turėti 2 paveiksliukus, vienas iš kurių yra tas, kurį reikia žymėti, o kitas, tarkim watermark.png yra tas, kurį uždėsime ant pradinio. Ši funkcija priima 2 parametrus: kelią iki pradinio paveiksliuko ir norimo rezultato bylos pavadinimą.
Čia watermark.png yra statiškai įrašytas į kodą, galite tai pakeisti įdėdami norimą paveiksliuką į fukcijos parametrų sąrašą. Žinoma, jei nori te permatomo paveiksliuko fono arba tam tikros jo dalies gausite naudoti png arba gif tipo failą, nes jie palaiko permatomumą. Jei jūsų žymė (angl. watermark) neturi permatomų dalių, galite naudoti bet kokio tipo paveiksliuką.
Pati funkcija skaitoma pakankamai nesudėtingai, reikia tik perkopijuoti ir naudoti
<?php
function watermarkImage($source, $destination)
{
// read image and get width and height
$image = @imagecreatefromjpeg($source);
$imagewidth = imagesx($image);
$imageheight = imagesy($image);
// read watermark and get width and height
$watermark = @imagecreatefrompng('/img/watermark.png');
$watermarkwidth = imagesx($watermark);
$watermarkheight = imagesy($watermark);
// watermark position at left-top corner of the image
$startwidth = 0;
$startheight = 0;
// copy watermark to image
imagecopy($image, $watermark, $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight);
// save watermarked image to destination file
imagejpeg($image, $destination);
// free memory
imagedestroy($image);
imagedestroy($watermark);
}
?>
Naudojimas:
<?php watermarkImage(getcwd()."/myImage.jpg", getcwd()."/watermarked.jpg"); ?>


