Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีสร้างลายน้ำ (Watermark) บนภาพด้วย Java

ตัวอย่าง Java สร้างลายน้ำข้อความ "Hello" บนภาพและบันทึก

ตัวอย่างโค้ด

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class WatermarkExample {
    public static void main(String[] args) throws IOException {
        // อ่านภาพ
        File file = new File("D:\\Images\\test1.jpg");
        BufferedImage img = ImageIO.read(file);
        
        // สร้างภาพเอาต์พุต
        int h = img.getHeight(), w = img.getWidth();
        BufferedImage res = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
        
        // วาดภาพต้นฉบับลงภาพใหม่
        Graphics g = res.getGraphics();
        g.drawImage(img, 0, 0, null);
        
        // ตั้งค่าฟอนต์และสีลายน้ำ
        Font font = new Font("Arial", Font.PLAIN, 45);
        g.setFont(font);
        g.setColor(new Color(255, 150, 200, 30)); // สีชมพู โปร่งใส 30/255
        
        // วาดข้อความลายน้ำ
        g.drawString("Hello", w/7, h/5);
        g.dispose();
        
        // บันทึกผลลัพธ์
        ImageIO.write(res, "jpg", new File("D:\\Images\\watermark.jpg"));
    }
}

ภาพอินพุตและเอาต์พุต

ภาพจะมีข้อความ "Hello" แบบโปร่งใสอยู่ที่มุมซ้ายบน