`

java 在图片上载水印

 
阅读更多
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;    
   
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 --   
     *            偏移量   
     * @param 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.143zh.com";    
            g.setColor(Color.RED);    
            g.setFont(new Font(fontName, fontStyle, fontSize));    
   
            g.drawString(pressText, wideth - fontSize - x, height - fontSize    
                    / 2 - 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("pressImg.jpg", "targetImg.jpg", 20, 20);    
    }    
} 

 

分享到:
评论

相关推荐

    java给图片添加水印

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

    java 图片添加水印

    java 图片添加水印 图片叠加文字类 图片生成方法,如果需要在已有的图片叠加文字

    java 图片水印 改变图片大小

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

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

    10. **安全考虑**:在接收用户上传的文件时,应验证文件类型和大小,防止恶意文件上传,同时对生成的水印图片进行权限控制,避免非法访问。 通过以上这些知识点的结合运用,我们可以构建一个功能完善的Java应用,...

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

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

    springboot实现上传图片添加水印

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

    java批量上传加水印

    在Java编程环境中,批量上传加水印是一项常见的需求,尤其在图像处理或版权保护的场景中。本项目手工实现了这一功能,提供了不依赖第三方库的解决方案。以下将详细阐述实现这个功能所需的关键知识点。 首先,我们...

    java代码上传文件时加水印.rar

    java代码上传文件时加水印: 内有jar包的说明文件 图片加水印:TestWaterPrint.java WORD文档加水印:AddWatermarkUtil.java PDF加水印:TestWaterPrint.java Excel加水印:ExcelWaterRemarkUtils.java

    上传 预览 文字水印 图片水印

    综上所述,实现“上传预览文字水印图片水印”功能,需要结合前端的文件操作API、预览展示技术,后端的文件接收、处理和存储,以及可能的SSH远程操作。每个环节都涉及多方面的技术和安全考虑,确保了用户上传文件的...

    七牛云上传图片添加水印

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

    上传图片加水印(图片水印和文字水印)

    在编程实现中,可以通过图像处理库如Python的PIL (Pillow) 或Java的ImageMagick来读取原图,然后将水印图片以适当的位置和透明度叠加上去。 2. **文字水印**:文字水印则是直接在图片上写入文本,如"版权所有"或"未...

    文件上传(本地上传,oss上传加水印)

    本篇文章将详细介绍这两种上传方式以及如何在OSS上传中添加水印。 首先,我们来看本地上传。本地上传是指用户在设备上选择文件后,直接将文件发送到服务器的过程。实现本地上传的关键在于前端的文件选择控件和后端...

    java 图片压缩 加水印处理 可以批处理

    java 可以处理19.5 M以下的正常图片 , 不知道大图怎么处理 只能ps 了, jdk可能不行

    java批量图片上传

    对于Oracle数据库,虽然存储大量图片在数据库中不是最佳实践,但有时出于业务需求或统一管理考虑,可能会选择这种方式。Oracle支持BLOB(Binary Large Object)数据类型来存储二进制数据,如图片。Java可以使用JDBC ...

    图片、文件上穿 uploadpicture 上传图片 uploadfile 上传文件 上传的图片可以盖文字或图片水印

    在此,我们将深入探讨图片上传、文件上传以及如何在上传的图片上添加文字或图片水印的技术细节。 首先,我们来看图片上传。在前端,这通常涉及到HTML5的`<input type="file">`元素,用户可以通过它选择本地的图片...

    java 图片压缩和加水印

    在Java编程环境中,图片压缩和加水印是两个常见的图像处理任务。这些功能在很多应用场景中都很重要,比如网站图片上传、社交媒体分享、数字资产管理等。下面将详细讲解这两个知识点,以及如何使用Java来实现。 首先...

    java 写批量添加水印软件

    java 写批量添加水印软件附批量截剪水印功能

    图片上传添加水印(自定义水印位置与旋转方向)

    该工具类支持图片文件上传功能,自定义文字水印位置与旋转角度,自定义文字大小,也可根据图片大小进行文字自适应!

    动态图片实现添加水印功能

    这段代码首先加载了名为`input.gif`的GIF文件,然后遍历每一帧并使用`createWatermarkImage`方法生成水印图片。该方法创建一个包含文字的BufferedImage,并应用透明度和字体样式。最后,水印被添加到每一帧的指定...

    java 上传图片配置

    通过它,你可以轻松地在Java程序中执行如调整图片尺寸、添加水印、转换图片格式等操作。 7. **异常处理与反馈**: 在处理图片上传时,需要考虑各种可能出现的异常,如文件类型错误、文件过大、磁盘空间不足等,并...

Global site tag (gtag.js) - Google Analytics