`

java程序中如何给图片加水印

阅读更多
package com.langhua.ImageUtils;
import java.awt.Color;    
import java.awt.Font;    
import java.awt.Graphics;    
import java.awt.Image;    
import java.awt.image.BufferedImage;    
import java.io.File;    
import java.io.FileOutputStream;    
    
import javax.imageio.ImageIO;    
    
import com.sun.image.codec.jpeg.JPEGCodec;    
import com.sun.image.codec.jpeg.JPEGImageEncoder;    
/**
* 给图片加水印
* @author iis
*/   
public final class ImageUtils {    
     public ImageUtils() {    
    
     }
     /**   
      * 把图片印刷到图片上   
      *    
      * @param pressImg
      *            水印文件   
      * @param targetImg   
      *            目标文件   
      * @param x   
      * @param y   
      */   
     public final static void pressImage(String pressImg, String targetImg,    
             int x, int y) {    
         try {    
             File _file = new File(targetImg);    
             Image src = ImageIO.read(_file);    
             int wideth = src.getWidth(null);    
             int height = src.getHeight(null);    
             BufferedImage image = new BufferedImage(wideth, height,    
                     BufferedImage.TYPE_INT_RGB);    
             Graphics g = image.createGraphics();    
             g.drawImage(src, 0, 0, wideth, height, null);    
    
             // 水印文件    
             File _filebiao = new File(pressImg);    
             Image src_biao = ImageIO.read(_filebiao);    
             int wideth_biao = src_biao.getWidth(null);    
             int height_biao = src_biao.getHeight(null);    
             g.drawImage(src_biao, wideth - wideth_biao - x, height    
                     - height_biao - y, wideth_biao, height_biao, null);    
             // /    
             g.dispose();    
             FileOutputStream out = new FileOutputStream(targetImg);    
             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);    
             encoder.encode(image);    
             out.close();    
         } catch (Exception e) {    
             e.printStackTrace();    
         }    
     }    
    
     /**   
      * 打印文字水印图片   
      *    
      * @param pressText   
      *             --文字   
      * @param targetImg 
      * 			--目标图片   
      * @param fontName 
      * 			--字体名   
      * @param fontStyle 
      * 			--字体样式   
      * @param color    
      *            	--字体颜色   
      * @param fontSize    
      *            	--字体大小   
      * @param x    
      *        		--X偏移量   
      * @param y
      * 			--Y偏移量   
      */   
    
     public static void pressText(String pressText, String targetImg,    
             String fontName, int fontStyle, int color, int fontSize, int x,    
             int y) {    
         try {    
             File _file = new File(targetImg);    
             Image src = ImageIO.read(_file);    
             int wideth = src.getWidth(null);    
             int height = src.getHeight(null);    
             BufferedImage image = new BufferedImage(wideth, height,    
                     BufferedImage.TYPE_INT_RGB);    
             Graphics g = image.createGraphics();    
             g.drawImage(src, 0, 0, wideth, height, null);    
             // String s="www.qhd.com.cn";    
             g.setColor(Color.RED);    
             g.setFont(new Font(fontName, fontStyle, fontSize));    
    
             g.drawString(pressText,fontSize+x,fontSize    
                      +y);    
             g.dispose();    
             FileOutputStream out = new FileOutputStream(targetImg);    
             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);    
             encoder.encode(image);    
             out.close();    
         } catch (Exception e) {    
             System.out.println(e);    
         }    
     }    
    
     public static void main(String[] args) {    
         pressImage("d:/1.jpg", "d:/2.jpg", 20, 20);    
         pressText("水印文字", "d:/1.jpg","宋体",1,1,25,10, 10);
     }    
}
分享到:
评论

相关推荐

    java 程序图片加水印

    java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以

    java实现对图片加水印

    java程序对图片加水印效果,比较简单 把需要加水印的图片替代原来的图片就可以了,在代码里头可以修改水印的字

    java制作水印简单强大易学

    简单的java程序给我图片加水印,标准写法,思路:把图片读到内存,然后创建画笔,然后再上面写字,最后保存

    小程序用Canvas给图片加水印,拼接图片,制作名片

    Canvas是微信小程序中的一个原生组件,因此我们在使用它的时候要特别注意微信小程序对原生组件的使用说明。canvas这个组件其实就是一个画布,你可以在上面画很多你用其他方式不好实现的内容。下面我就将介绍一下怎么...

    Java源码包100个设计实例.zip

    Java图片加水印,支持旋转和透明度设置 Java圆形按钮实例代码,含注释 Java圆形电子时钟源代码 Java多用户聊天室程序(毕业设计).rar Java大型CERP进销存系统.rar Java存储与读取对象.rar Java局域网通信——飞鸽传...

    小程序 Java图片加水印,支持旋转和透明度设置(源码).rar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    java源码包---java 源码 大量 实例

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印...

    java源码包2

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,...

    java源码包4

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,...

    java源码包3

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,...

    JAVA上百实例源码以及开源项目

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印...

    JAVA上百实例源码以及开源项目源代码

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印...

    JavaPDF操作类库API_Free Spire.PDF for Java_5.1.0

    1.功能:该API为适用于Java平台下,通过后端程序代码调用API...lib文件夹下包含了用于在java程序中的Spire.Pdf.jar文件,在项目程序中调用接口方法时,需要导入该jar文件;doc文件下包含了所有类及方法的说明解释等。

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    JavaWord类库操作API_Free Spire.Doc for Java_5.1.0

    1.功能: 1.1 文档转换:Word转PDF/图片/XPS/XML/RTF/...lib文件夹下包含了用于在java程序中的Spire.Doc.jar文件,在项目程序中调用接口方法时,需要导入该jar文件;doc文件下包含了所有类及方法的说明解释等。

    免费版 JAVA PPT控件 -Free Spire.Presentation for Java_2.0.0

    Free Spire.Presentation for Java 是一个专业的PowerPoint API,开发人员可以在Java应用程序中创建、读取、写入、转换和保存PowerPoint文档。作为一款独立的Java组件,Free Spire.Presentation for Java的运行环境...

    免费版本的Spire.Doc for Java v5.2.0 jar包

    Free Spire.Doc for Java 是一款免费、专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建、读取、编辑、转换和打印等功能集成到自己的 Java 应用程序中。作为一款完全独立的组件,Free Spire.Doc ...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    Java 免费PPT控件_Spire.Presentation-FE_2.6.1.zip

    Free Spire.Presentation for Java 是一个专业的PowerPoint API,它允许开发人员在Java应用程序中创建、读取、写入、转换和保存PowerPoint文档。作为一款独立的Java组件,Free Spire.Presentation for Java的运行...

Global site tag (gtag.js) - Google Analytics