java为图片添加水印


添加水印的Demo如下,新建工程测试后如遇到问题,可以执行最后图片指示更改即可。

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.imageio.ImageIO;

public class Demo {

public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("D://img/1.jpg");
textmark(file,"HELLO WORLD");
}

/**
* @param file
* 图片文件对象
* @param text
* 添加的水印文字
*/
public static void textmark(File file, String text) {
try {
Image image = ImageIO.read(file);

BufferedImage bufferImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB);// 1.创建图片缓存对象

Graphics2D g = bufferImage.createGraphics(); // 2. 创建Java绘图工具对象

g.drawImage(image, 0, 0, image.getWidth(null), image.getHeight(null), null);//3.将原图通过绘图工具画到图片缓存对象中

g.setFont(new Font("微软雅黑",Font.BOLD,30));
g.setColor(Color.GREEN);//设置水印文字的 字体和颜色
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.3f));

g.drawString(text, 200, 50);//4.将文字添加到缓存图片对象中
g.dispose();

OutputStream os = new FileOutputStream("D://new.jpg");
ImageIO.write(bufferImage, "JPG", os);//通过图片编码工具,将缓存图片保存到本地

} catch (IOException e) {
e.printStackTrace();
}
}

}

报错主要为import javax.imageio.ImageIO;引入错误

优质内容筛选与推荐>>
1、VBA学习心得
2、postman接口自动化
3、用O(1)的时间复杂度,找到栈和队列中的最小(大)值
4、基本数据类型的结构和使用方法
5、Some Sites


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号