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ả.
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!
Không có bình luận.