`
Zhoumx
  • 浏览: 73496 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JAVA水印

阅读更多

package com.page;

import java.io.File;
import java.io.FileOutputStream;
import javax.imageio.ImageIO;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

/**
 * 图片水印
 * waterMark.imgMark(原始文件路径, 水印文件路径);
 * 透明水印,将水印图片设置为透明背景就可以了(png格式)
 */
public class WaterMark {
 public void imgMark(String strOriginalFileName, String strWaterMarkFileName) {
  try {
   // 源文件
   File fileOriginal = new File(strOriginalFileName);
   Image imageOriginal = ImageIO.read(fileOriginal);
   int widthOriginal = imageOriginal.getWidth(null);
   int heightOriginal = imageOriginal.getHeight(null);
   // System.out.println("widthOriginal:" + widthOriginal
   // + "\theightOriginal:" + heightOriginal);

   BufferedImage bufImage = new BufferedImage(widthOriginal,
     heightOriginal, BufferedImage.TYPE_INT_RGB);
   Graphics g = bufImage.createGraphics();
   g.drawImage(imageOriginal, 0, 0, widthOriginal, heightOriginal,
     null);

   // 水印文件
   File fileWaterMark = new File(strWaterMarkFileName);
   Image imageWaterMark = ImageIO.read(fileWaterMark);
   int widthWaterMark = imageWaterMark.getWidth(null);
   int heightWaterMark = imageWaterMark.getHeight(null);
   // System.out.println("widthWaterMark:" + widthWaterMark
   // + "\theightWaterMark:" + heightWaterMark);

   // 水印文件在源文件的右下角
   g.drawImage(imageWaterMark, widthOriginal - widthWaterMark,
     heightOriginal - heightWaterMark, widthWaterMark,
     heightWaterMark, null);
   g.dispose();

   FileOutputStream fos = new FileOutputStream(strOriginalFileName);
   JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
   encoder.encode(bufImage);
   fos.flush();
   fos.close();
   fos = null;
  } catch (Exception e) {
   e.printStackTrace();
   System.out.println("++WaterMark-Build the watermark fail.");
  }
 }

 // 测试
 public static void main(String[] args) {
  WaterMark waterMark = new WaterMark();
  waterMark.imgMark("d:/t3.jpg", "d:/watermark.png");
 }
}

 

以上代码来自网络

分享到:
评论

相关推荐

    java 水印(水印适应图片大小,但个别图片太小不支持)

    在Java编程中,添加水印是一项常见的图像处理任务,它涉及到图像处理库的使用和算法设计。本知识点主要探讨如何在Java中实现自适应图片大小的水印功能,以及遇到图片过小时的处理策略。 首先,我们需要理解水印的...

    java水印功能通用类

    "java水印功能通用类"是一个专门为实现这一目的而设计的代码库,它提供了一种方便、可复用的方式来为各种类型的数据添加水印。下面我们将深入探讨Java水印功能的相关知识点,以及如何使用此类库进行实际操作。 1. *...

    aspose-cells-24.2 for java去水印

    aspose.cells-24.2 for java 去水印 jar 学习使用!!!学习使用!!!学习使用!!!aspose.cells-24.2 for java 去水印 jar 学习使用!!!学习使用!!!学习使用!!!aspose.cells-24.2 for java 去水印 jar ...

    Java水印图片字体

    在Java开发中,创建带有水印的图片是一项常见的任务,特别是在图像处理或版权保护的应用场景中。水印可以是文字、图像或者logo,用于表明图片的归属或进行版权声明。在Java中实现这一功能,我们需要涉及到图形处理和...

    shuiyin.rar_java水印

    "shuiyin.rar_java水印"这个压缩包文件显然包含了关于如何在Java环境中实现图像水印的代码或教程。Java水印技术允许我们在图像上添加不可见或可见的标识,以证明所有权、保护版权或者追踪非法复制。下面我们将详细...

    java 水印测试工具 解压后,执行java -jar 

    Java水印测试工具是一种用于在图像上添加水印的实用程序,主要应用于软件测试和版权保护。这个工具可能由Java编程语言编写,因此其可移植性强,能在多种操作系统上运行,如Windows、Linux和Mac OS。`java -jar`命令...

    abc.rar_java 水印_watermark java_图像处理_图像识别java

    "abc.rar_java 水印_watermark java_图像处理_图像识别java"这个标题揭示了我们将讨论的是一个关于Java实现的水印添加功能,同时可能涉及到图像处理和识别的组件。下面将详细阐述这些概念。 1. **Java图像处理**:...

    java 水印 图像处理 图片分割 裁剪 缩放

    1. **Java水印**:在图像上添加水印是保护版权和增加品牌识别度的一种常见方法。在Java中,可以使用Java Advanced Imaging (JAI)库或者Apache Commons Imaging库来实现。水印可以是文字、图像或图形,通常位于图片的...

    采用java实现图片水印

    Java作为一种多用途且功能强大的编程语言,提供了丰富的库和API来处理图像,包括添加水印。本篇文章将详细探讨如何使用Java实现图片水印的添加,以及相关的知识点。 首先,我们需要了解Java中的图像处理库。Java...

    java 水印图片

    在Java编程语言中,添加水印到图片以及生成条形码是常见的图像处理任务,尤其在数字版权保护、产品标记和文档安全等方面有着广泛应用。在这个主题下,我们将深入探讨如何在Java中实现这两个功能。 首先,让我们关注...

    Java水印应用程序(含源码)+GUI界面+使用说明+可做毕设

    Java水印应用程序是一个简单的项目。整个系统是在Sublime Text编辑器中制作的。该系统没有数据库支持,但支持所有必要的功能。 系统简介 这个Java水印应用程序易于理解和操作。系统的目的是为你的照片添加水印。...

    java水印实现代码

    在Java编程语言中,添加水印是一项常见的任务,特别是在处理图像时。水印可以用于版权保护、品牌标识或提供额外信息。以下是一个关于如何在Java中实现水印功能的详细解释。 首先,我们需要引入处理图像的库。Java...

    java中处理图片水印

    在Java编程语言中,处理图片水印涉及到图像处理和图形绘制技术。`Graphics2D`是Java 2D API的一部分,它提供了丰富的功能,可以用来在图像上添加文本、图像等元素,实现水印效果。下面我们将深入探讨如何使用`...

    java 图片水印 改变图片大小

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

    Aspose for Java 去除水印和数量限制

    然而,免费版本的Aspose for Java通常会带有水印,并且对处理文件的数量有限制,这可能对商业应用造成不便。 在Aspose for Java中去除水印通常涉及对文档内容的直接操作。水印通常以图形或文本的形式嵌入到文档的...

    java水印[参照].pdf

    Java 图片水印技术主要涉及图像处理和图形绘制,用于在源图像上添加标识或文本,以保护版权或增加视觉效果。以下是对给定代码的详细解释和扩展: 1. **导入的包**: - `java.awt`: 包含基本的图形、颜色和字体处理...

    PDF文件JAVA去水印源码-PDF-Converter-Services-Online:使用基于REST的云服务转换、合并、水印、安全和OC

    PDF文件JAVA去水印源码Muhimbi PDF Converter 在线服务 关于 这是一项基于 REST 的服务,可以轻松地将文档转换、合并、水印、保护和光学字符识别 (OCR) 添加到大多数编程语言、操作系统和开发平台。 此服务也可作为...

    Java水印.

    在IT行业中,Java水印通常指的是在处理图像或者文档时,使用Java编程语言来添加一种半透明或不显眼的标记,用以保护版权、标识信息或者防止未经许可的复制。这种技术广泛应用在数字媒体、设计、教育以及企业文档管理...

    aspose-cells-8.5.0-java 去水印特别版

    aspose-cells-8.5.0-java版,随手修改了License文件,去掉了导出图片的水印。仅供个人学习使用,不要用于商业版本。

    简单的java添加水印效果

    以上就是一个简单的Java水印添加过程。为了使水印更加灵活,你可以考虑添加参数来控制水印的位置、大小、角度、透明度等。此外,还可以扩展这个功能,使其支持不同类型的文件格式,如PNG、JPEG、GIF等。 在实际应用...

Global site tag (gtag.js) - Google Analytics