`
firecool
  • 浏览: 83510 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

图片加水印JAVA实现

    博客分类:
  • java
阅读更多
java 代码
  1. import java.awt.Color;   
  2. import java.awt.Font;   
  3. import java.awt.Graphics;   
  4. import java.awt.Image;   
  5. import java.awt.image.BufferedImage;   
  6. import java.io.File;   
  7. import java.io.FileOutputStream;   
  8.   
  9. import javax.imageio.ImageIO;   
  10.   
  11. import com.sun.image.codec.jpeg.JPEGCodec;   
  12. import com.sun.image.codec.jpeg.JPEGImageEncoder;   
  13.   
  14. public final class ImageUtils {   
  15.     public ImageUtils() {   
  16.   
  17.     }   
  18.   
  19.     /**  
  20.      * 把图片印刷到图片上  
  21.      *   
  22.      * @param pressImg --  
  23.      *            水印文件  
  24.      * @param targetImg --  
  25.      *            目标文件  
  26.      * @param x  
  27.      * @param y  
  28.      */  
  29.     public final static void pressImage(String pressImg, String targetImg,   
  30.             int x, int y) {   
  31.         try {   
  32.             File _file = new File(targetImg);   
  33.             Image src = ImageIO.read(_file);   
  34.             int wideth = src.getWidth(null);   
  35.             int height = src.getHeight(null);   
  36.             BufferedImage image = new BufferedImage(wideth, height,   
  37.                     BufferedImage.TYPE_INT_RGB);   
  38.             Graphics g = image.createGraphics();   
  39.             g.drawImage(src, 00, wideth, height, null);   
  40.   
  41.             // 水印文件   
  42.             File _filebiao = new File(pressImg);   
  43.             Image src_biao = ImageIO.read(_filebiao);   
  44.             int wideth_biao = src_biao.getWidth(null);   
  45.             int height_biao = src_biao.getHeight(null);   
  46.             g.drawImage(src_biao, wideth - wideth_biao - x, height   
  47.                     - height_biao - y, wideth_biao, height_biao, null);   
  48.             // /   
  49.             g.dispose();   
  50.             FileOutputStream out = new FileOutputStream(targetImg);   
  51.             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);   
  52.             encoder.encode(image);   
  53.             out.close();   
  54.         } catch (Exception e) {   
  55.             e.printStackTrace();   
  56.         }   
  57.     }   
  58.   
  59.     /**  
  60.      * 打印文字水印图片  
  61.      *   
  62.      * @param pressText  
  63.      *            --文字  
  64.      * @param targetImg --  
  65.      *            目标图片  
  66.      * @param fontName --  
  67.      *            字体名  
  68.      * @param fontStyle --  
  69.      *            字体样式  
  70.      * @param color --  
  71.      *            字体颜色  
  72.      * @param fontSize --  
  73.      *            字体大小  
  74.      * @param x --  
  75.      *            偏移量  
  76.      * @param y  
  77.      */  
  78.   
  79.     public static void pressText(String pressText, String targetImg,   
  80.             String fontName, int fontStyle, int color, int fontSize, int x,   
  81.             int y) {   
  82.         try {   
  83.             File _file = new File(targetImg);   
  84.             Image src = ImageIO.read(_file);   
  85.             int wideth = src.getWidth(null);   
  86.             int height = src.getHeight(null);   
  87.             BufferedImage image = new BufferedImage(wideth, height,   
  88.                     BufferedImage.TYPE_INT_RGB);   
  89.             Graphics g = image.createGraphics();   
  90.             g.drawImage(src, 00, wideth, height, null);   
  91.             // String s="www.qhd.com.cn";   
  92.             g.setColor(Color.RED);   
  93.             g.setFont(new Font(fontName, fontStyle, fontSize));   
  94.   
  95.             g.drawString(pressText, wideth - fontSize - x, height - fontSize   
  96.                     / 2 - y);   
  97.             g.dispose();   
  98.             FileOutputStream out = new FileOutputStream(targetImg);   
  99.             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);   
  100.             encoder.encode(image);   
  101.             out.close();   
  102.         } catch (Exception e) {   
  103.             System.out.println(e);   
  104.         }   
  105.     }   
  106.   
  107.     public static void main(String[] args) {   
  108.         pressImage("d:/test/22.jpg""d:/test/11.jpg"2020);   
  109.     }   
  110. }   
分享到:
评论
4 楼 lihua2008love 2011-09-26  
为什么报
javax.imageio.IIOException: Can't read input file!
	at javax.imageio.ImageIO.read(ImageIO.java:1275)
	at com.szair.test.ImageUtils.pressImage(ImageUtils.java:43)
	at com.szair.test.ImageUtils.main(ImageUtils.java:108)

不懂、图片路径是对的
3 楼 javay 2008-12-15  
谢谢。
2 楼 hailanc1108 2008-10-10  
不错,谢谢啦.
1 楼 elf8848 2008-10-02  
我看了, 很好, 但水印不是半透明的

相关推荐

    图片加水印java实现

    自己写的一个给图片加水印的类,我在企业里工作,一般涉及到给图片加水印的需求,都是用的这个类,很好用的,就传上来,大家分享一下,为了可阅读性,注释打的很详细,封装的很好,大家看看吧,有什么问题可以问我的...

    图片加水印 java代码实现

    图片加水印 java代码实现

    采用java实现图片水印

    本篇文章将详细探讨如何使用Java实现图片水印的添加,以及相关的知识点。 首先,我们需要了解Java中的图像处理库。Java标准库提供了`java.awt`和`javax.imageio`包,它们包含了处理图像的基本功能。`java.awt`包中...

    java给图片添加水印

    在Java编程语言中,给图片添加水印是一项常见的任务,特别是在网站开发中,为了保护版权或者标识来源,经常需要在用户上传的图片上添加特定的文字或图像水印。以下将详细讲解如何使用Java来实现这一功能。 首先,...

    java图片加水印(适应铺满)

    开发一个项目,需要用到图片加水印的功能,这里考虑使用后台加水印,在上传的时候或者回显到页面时候,取图片文件的流数据,进行加水印在返回流数据就行了,非常简单,不懂可以问我

    JAVA实现给图片增加图片水印或者文字水印-依赖包

    在Java编程中,给图片添加水印是一项常见的需求,无论是为了版权保护还是...但以上代码已经足够作为基础,帮助你开始在Java中实现图片加水印的功能。记得在运行此代码前,确保已经正确引入了Apache Commons Imaging库。

    java实现图片上传并添加水印效果(文字水印,蒙版,logo图片),自动进行文字大小行数位置匹配 ,文字自动换行

    在Java编程中,实现图片上传并添加水印效果是一项常见的任务,这通常涉及到图像处理、图形用户界面(GUI)和文件I/O等多个方面。在这个项目中,我们将关注以下几个关键知识点: 1. **Java图像处理库**:Java标准库...

    java操作excel实现水印图片

    java操作excel实现水印图片

    java实现对图片加水印

    总结一下,Java 2D API和JAI库都能帮助我们实现图片加水印的功能。选择哪种方式取决于具体需求,如性能、复杂性和可用资源。理解这些概念和步骤,开发者就能根据实际情况编写出自己的Java代码,实现个性化的图片水印...

    Java 实现word文件增加图片水印 jacob实现 用到的jar

    3. **添加水印**:利用Jacob提供的接口,创建并设置图片作为水印,然后将其插入Word文档。 ```java // 假设已有一个Image对象image代表你的水印图片 Dispatch insertImage = Dispatch.get(doc, "InlineShapes")....

    springboot实现上传图片添加水印

    在Spring Boot框架中实现图片上传并添加水印的功能,是一个常见的需求,特别是在开发涉及多媒体内容的Web应用时。下面将详细介绍这个过程,并涵盖相关的技术点。 首先,我们需要了解Spring Boot如何处理文件上传。...

    java 图片水印 改变图片大小

    在Java编程领域,图片处理是一项常见的任务,包括添加水印、改变图片大小等。这里我们将深入探讨这些知识点,以及如何在Struts2框架下实现它们。 首先,让我们了解"图片水印"。水印通常用于保护版权或者为图片增加...

    Java实现在图片上添加水印图片和水印文字.doc

    Java 实现图片添加水印图片和水印文字 Java 是一种广泛应用于企业级开发的编程语言,拥有强大灵活的图形处理能力。本文将详细介绍如何使用 Java 实现图片添加水印图片和水印文字,并对代码进行解释。 图片添加水印...

    java Jacob完美实现word添加图片水印(内附源码及jar包)

    java Jacob完美实现word添加图片...公司最近让搞Word文档添加水印,所有下载的文档需要添加公司印章,搞了好多天才实现,利用Jacob完美实现word添加图片水印(注意需要把dll文件放到jdk的bin目录下)。欢迎大家下载指教。

    java 图片缩放、加水印

    图片操作类源代码,该类主要用于给图片进行缩放、加水印和得到图片的高、宽及类型。 具体操作请自己参照方法说明自己测试改写。

    使用java实现图片水印

    ### 使用Java实现图片水印的关键知识点 #### 一、背景介绍 在当今互联网时代,图片作为信息传递的重要载体之一,在各个领域中发挥着至关重要的作用。为了保护图片版权或者增加品牌标识度,很多网站和应用会选择为...

    java实现图片加水印.txt

    通过上述分析,我们可以看到Java实现图片加水印主要涉及到了文件输入输出、图像处理、图形绘制等多个方面的知识。掌握了这些技术,不仅能够帮助开发者完成简单的图片加水印任务,还能进一步扩展到更为复杂的图像处理...

    java实现为图片添加水印

    以上就是Java实现为图片添加水印的核心知识点。通过理解并应用这些概念,你可以轻松地创建自己的Java水印工具,无论是用于个人项目还是商业用途。在实际开发中,可能还需要考虑更多的细节,比如支持多种图片格式、...

    水印 java Graphics2D实现文字图片水印

    下面将详细介绍如何使用Java Graphics2D实现文字和图片水印,以及如何在四个角落添加水印。 首先,我们要导入必要的Java库,包括java.awt和javax.imageio: ```java import java.awt.*; import java.awt.image....

    七牛云上传图片添加水印

    七牛云上传图片实现添加水印java代码测试类注意事项要先获取七牛的ak,sk以及空间水印样式

Global site tag (gtag.js) - Google Analytics