Watermark được dịch là “chữ ký ảnh”, thể hiện dưới dạng như một đoạn text, hình ảnh, logo, khẩu hiệu hay số điện thoại, nhưng chúng được làm mờ đi và không rõ nét như ban đầu. Việc chèn watermark nhằm mục đích đánh dấu chủ quyền, bảo vệ quyền sở hữu cho chủ nội dung. Bên cạnh đó, còn có vai trò quảng cáo và tạo điểm nhấn rất hiệu quả.

Tự động chèn Watermark số lượng lớn hình ảnh với PHP

Nếu bạn có một số lượng lớn ảnh cần chèn Watermark vào cùng một vị trí mà không muốn làm thủ công từng ảnh, và nếu bạn có thể sử dụng PHP, bài viết này sẽ giúp bạn! Đầu tiên, các bạn tạo một thư mục như sao trong Localhost.

wtm/
├── dir/
├── index.php
├── wtm.png

Với wtm.png là hình ảnh Watermark bạn muốn chèn.

Nội dung index.php

<?php
     function watermark_image($target, $wtrmrk_file, $newcopy) {
        $watermark = imagecreatefrompng($wtrmrk_file);
        imagealphablending($watermark, false);
        imagesavealpha($watermark, true);
        $img = imagecreatefromjpeg($target);
        $img_w = imagesx($img);
        $img_h = imagesy($img);
        $wtrmrk_w = imagesx($watermark);
        $wtrmrk_h = imagesy($watermark);
        $dst_x = $img_w - (250 + 30);
        $dst_y = $img_h - (76 + 10);
        imagecopy($img, $watermark, $dst_x, $dst_y, 0, 0, $wtrmrk_w, $wtrmrk_h);
        imagejpeg($img, $newcopy, 100); // 100 là chất lượng ảnh cao nhất
        imagedestroy($img);
        imagedestroy($watermark);
    }

    $files = scandir('./dir');
    if ($files) {
        for ($i = 2; $i < count($files); $i++) {
            watermark_image('./dir/' . $files[$i], 'wtm.png', './dir/' . $files[$i]);
        }
    }

    echo 'OK!';
?>

Ví dụ trên mình chèn một Watermark có kích thước 250x76px ở góc dưới bên phải của mình, cách cạnh phải 30px và cạnh dưới 10px. Các bạn có thể tùy chỉnh kích thước cũng như vị trí mình mong muốn ở 2 dòng $dst_x = $img_w - (250 + 30);$dst_y = $img_h - (76 + 10); của đoạn mã trên.

Để chèn Watermark vào hình ảnh, các bạn chép tất cả hình ảnh vào thư mục dir sau đó chạy đường dẫn đến thư mục wtm trên Localhost. Chúc các bạn thành công!

5/5 (1 bình chọn)