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);
và $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!