如何使用 Java OpenCV 库在图像上创建水印?

javaobject oriented programmingprogramming

以下 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 height = img.getHeight();
      int width = img.getWidth();
      BufferedImage res = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
      //创建一个图形对象
      Graphics graphics = res.getGraphics();
      graphics.drawImage(img, 0, 0, null);
      //创建水印字体
      Font font = new Font("Arial", Font.PLAIN, 45);
      graphics.setFont(font);
      graphics.setColor(new Color(255, 150, 200, 30));
      //在图片上绘制水印字符串
      graphics.drawString("Hello", width/7, height/5);
      //处理字符串
      graphics.dispose();
      //写入结果图像。
      file = new File("D:\Images\watermark.jpg");
      ImageIO.write(res, "jpg", file);
   }
}

输入

输出


相关文章