Search code examples
imagecodeignitercodeigniter-4

Codeigniter 4 image watermark


I'm using the codeigniter's Image Manipulation Class and would like to watermark an image with an another image?

It was working fine in CI3, but I cant find it in CI4.

In the documentation there's only a possibility to watermark with text. https://codeigniter4.github.io/userguide/libraries/images.html#adding-a-text-watermark


Solution

  • CI4 does not support such a feature, you can use this script and make it work with CI4

    <?php
    // Load the stamp and the photo to apply the watermark to
    $stamp = imagecreatefrompng('stamp.png');
    $im = imagecreatefromjpeg('photo.jpeg');
    
    // Set the margins for the stamp and get the height/width of the stamp image
    $marge_right = 10;
    $marge_bottom = 10;
    $sx = imagesx($stamp);
    $sy = imagesy($stamp);
    
    // Copy the stamp image onto our photo using the margin offsets and the photo 
    // width to calculate positioning of the stamp. 
    imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
    
    // Output and free memory
    header('Content-type: image/png');
    imagepng($im);
    imagedestroy($im);
    ?>
    

    https://www.php.net/manual/en/image.examples-watermark.php