`

java给图片加图片水印

阅读更多

package com.test;
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;
 /** *//**
     *
     * @param pressImg  水印文件,最好用gif或者png可以支持透明
     * @param scourceImg   原始图片文件
     * @param targetImg    生成图片文件
     * @param x  水印的横坐标
     * @param y  水印的纵坐标
     */
public class WaterMark{
  
    public final static void pressImage(String pressImg, String scourceImg, String targetImg, int x, int y){
        try {
           
         // 目标文件
            File _file = new File(scourceImg);//读取要设置水印的原图片
            Image src = ImageIO.read(_file);//通过io流建立一个文件地址
            int width = src.getWidth(null);//获取原文件的宽度
            int height = src.getHeight(null);//获取原问题件的高度
            BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
            Graphics g = image.createGraphics();
            g.drawImage(src, 0, 0, width, height, null);//画出原图
           
            // 水印文件
            //和读取原图是一样的
            File _filebiao = new File(pressImg);//水印图片
            Image src_biao = ImageIO.read(_filebiao);
            int width_biao = src_biao.getWidth(null);
            int height_biao = src_biao.getHeight(null);
           
            g.drawImage(src_biao, width - width_biao - x, height - height_biao - y, width_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();
        }
    }
   
    public static void main(String[] args){
       
        //测试方法
     System.out.println("图片处理中.......");
     try{
        WaterMark.pressImage("c:/press.png", "c:/source.jpg", "c:/target.jpg", 20,20);
        System.out.println("图片处理完成.......");
     }
     catch(Exception e){
      System.out.println("图片处理失败.......");
      
     }
    }
}

分享到:
评论

相关推荐

    java给图片添加水印

    2. **创建水印工具类**:创建一个名为`WatermarkUtils`的Java类,包含添加文字水印和图片水印的方法。 - **添加文字水印**:首先读取原始图片,然后创建一个含有文字的透明图像(水印),设置合适的字体、颜色、...

    JAVA处理图片 加文字水印以及灰色透明背景

    JAVA处理图片 加文字水印以及灰色透明背景,处理图片。

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

    在实际应用中,你可能还需要处理更多细节,比如根据图片的宽高比动态调整水印的位置和大小,或者支持图片水印,这需要对图像处理有更深入的理解。但以上代码已经足够作为基础,帮助你开始在Java中实现图片加水印的...

    java 图片水印 改变图片大小

    总结来说,Java提供了丰富的API来处理图片水印和大小改变,而Struts2则提供了强大的Web开发支持。结合这两者,我们可以构建出高效、灵活的图片处理服务。理解并熟练掌握这些技术,对于提升Java Web开发能力大有裨益...

    采用java实现图片水印

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

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

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

    Java给图片加水印

    "Java给图片加水印"这个主题,就是关于如何利用Java技术在图片上添加标识或文字,以保护版权或者增强视觉效果。下面我们将深入探讨这个话题。 首先,我们需要了解Java中的图像处理库,如Java Advanced Imaging (JAI...

    java中处理图片水印

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

    基于Java给图片添加文字或图片水印

    在Java编程环境中,给图片添加文字或图片水印是一项常见的图像处理任务,广泛应用于版权保护、品牌宣传等领域。本项目“基于Java给图片添加文字或图片水印”旨在教授如何利用Java实现这一功能,适用于大学生的课程...

    java操作wordpdf图片生成图片水印

    总的来说,Java通过Apache POI和PDFBox等库,为开发者提供了强大的工具来操作Word和PDF文档,并生成图片水印。这不仅可以提高工作效率,也能有效地保护和标记文档内容。通过深入学习和实践,开发者可以掌握这些技能...

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

    本知识点主要探讨如何在Java中实现自适应图片大小的水印功能,以及遇到图片过小时的处理策略。 首先,我们需要理解水印的基本概念。水印是在图像或文档上添加的一种视觉标记,它可以是文字、图像或者图形,用于表明...

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

    java Jacob完美实现word添加图片水印(内附源码及jar包)。 公司最近让搞Word文档添加水印,所有下载的文档需要添加公司印章,搞了好多天才实现,利用Jacob完美实现word添加图片水印(注意需要把dll文件放到jdk的bin...

    java 图片缩放、加水印

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

    java图片加水印及图片加解密

    在Java编程领域,图片处理是一项常见的任务,包括添加水印和对图片进行加解密。以下将详细探讨这些知识点。 1. **图片加水印**: - **基本概念**:水印是一种在图片上添加不可见或可见的标记,用于证明所有权、...

    java 程序图片加水印

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

    图片加水印 java代码实现

    图片加水印 java代码实现

    java操作excel实现水印图片

    java操作excel实现水印图片

    Java为图片添加水印功能.rar

    Java为图片添加水印功能,这个水印类的操作比较实用,不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->...

    java给图片加水印Demo.rar

    java给图片加水印Demo,主要用到的函数:Graphics2D g2d = bufferedImage.createGraphics(); g2d.drawImage、g2d.setColor、g2d.setFont、g2d.drawString

    java图片加水印工具类

    这个“java图片加水印工具类”正是为了简化这一过程而设计的,它允许开发者通过调用预定义的方法,快速地在图片上添加文字或图形水印,无需每次都手动编写相同的功能代码。 首先,我们需要了解什么是水印。水印通常...

Global site tag (gtag.js) - Google Analytics