Khi bạn muốn thêm một “dấu xác thực” (watermark) dưới dạng một ảnh nền vào một file ảnh trên web của bạn thì có rất nhiều cách để thực hiện như dùng photoshop, hoặc các công cụ khác trên mạng, hôm nay mình xin chia sẻ các bạn đoạn code có thể làm watermark cho hình của bạn mà không cần dùng bất kỳ phần mềm nào, và bạn cũng không cần tốn quá nhiều thời gian .
Đoạn code sau sẽ giúp bạn làm điều đó :
<?php
function watermark_image($file, $destination, $overlay = "images/watermark.png", $X = 10, $Y = 10){
$watermark = imagecreatefrompng($overlay);
$source = getimagesize($file);
$source_mime = $source['mime'];
$source_x = $source['width'];
$source_y = $source['height'];
if($source_mime == "image/png"){
$image = imagecreatefrompng($file);
}else if($source_mime == "image/jpeg"){
$image = imagecreatefromjpeg($file);
}else if($source_mime == "image/gif"){
$image = imagecreatefromgif($file);
}
imagecopy($image, $watermark, $X, $Y, 0, 0, imagesx($watermark), imagesy($watermark));
imagepng($image, $destination);
return $destination;
}
?>
Mình xin giải thích các tham số được dùng như sau :
- $file : đường dẫn đến hình của bạn
– $destination : đường dẫn đến file kết quả tấm hình sau khi tạo ra
– $overlay : đường dẫn hình watermark của bạn
– $X , $Y : là vị trí đặt hình watermark , mặc định là 10
Để sử dụng hàm này các bạn sử dụng như sau :
<img src=’<?php echo watermark_image(“96.jpg”, “temp/”.time().”.jpg”); ?>‘>
Nếu bạn nào có khó khăn gì thì vui lòng để lại comment , mình sẽ giúp đỡ các bạn.