zoukankan      html  css  js  c++  java
  • 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;引入错误

  • 相关阅读:
    应急响应之如何发现隐藏的Webshell后门
    从失败终止到崩溃
    DumpConfigurator Utility工具
    使例外成为例外(而不是异常)
    用于可视化虚拟内存使用情况和GC堆使用情况的工具。
    关于EEMessageException异常
    c#/C++混合编程的一个问题
    关于std::__non_rtti_object异常
    仅通过转储来排除内存泄漏
    调试器不应该改变行为
  • 原文地址:https://www.cnblogs.com/kxdq/p/7562969.html
Copyright © 2011-2022 走看看