Znak wodny przy wgrywaniu zdjęć


(Aglasek) #1

znalazłem w necie teki skrypt do umieszczania znaku wodnego na zdjęciach i działa mi poprawnie tylko, że po wywołaniu tej funkcji gdziś w moim kodzie pokazuje mi się od razu mój obrazek ze znakiem wodnym a ja chcę aby wykonywało się to w locie ( czyli w tle ) i nie było widoczne dla usera wgrywającego pliki

$image = imagecreatefromjpeg('zdjecie.jpg');

        $watermark = imagecreatefromjpeg('znak_wodny.jpg');


        $width = imagesx($image);

        $height = imagesy($image);

        $watermark_width = imagesx($watermark);

        $watermark_height = imagesy($watermark);


        imagecopymerge($image, $watermark, (($width - $watermark_width))-10, (($height - $watermark_height))-10, 0, 0, $watermark_width, $watermark_height, 90);


        header('Content-Type: image/jpeg');

        imagejpeg($image);

        imagedestroy($image);

        imagedestroy($watermark);

(Grzelix) #2

http://php.net/manual/en/function.imagejpeg.php

zamiast:

header('Content-Type: image/jpeg');

        imagejpeg($image);

wstaw

imagejpeg($image, 'image_with_watermark.jpg');

To zapisze powstały obraz zamiast wysyłania go do klienta.

jak coś niejasne możesz poczytać o funkcjach do operacji na obrazach - link u góry postu


(Aglasek) #3

O to chodziło, dzięki.