`
Xcupidtx
  • 浏览: 14941 次
社区版块
存档分类
最新评论

JAVA制作文字、图片水印 - 附测试代码

    博客分类:
  • JAVA
阅读更多
package com.bjsxt.mark;

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() {

    }

    /*
     * public final static String getPressImgPath() { return ApplicationContext
     * .getRealPath("/template/data/util/shuiyin.gif"); }
     */

    /**
     * 把图片印刷到图片上
     * 
     * @param pressImg --
     *            水印文件
     * @param targetImg --
     *            目标文件
     * @param x
     *            --x坐标
     * @param y
     *            --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, x, 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, Color 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);
            g.setFont(new Font(fontName, fontStyle, fontSize));

            g.drawString(pressText, x, 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:/test/watermark.png", "D:/test/picture.jpg", 0, 100);
    	/**加文字水印,字体名,字体样式等,可以查看Font的API**/
//        pressText("丘佳胜", "D:/test/picture.jpg", Font.DIALOG, Font.ITALIC, Color.RED, 28, 10, 50);
    }
}
分享到:
评论

相关推荐

    Java设计模式-图解-附代码

    Java设计模式-图解-附代码

    java中处理图片水印

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

    使用java实现图片水印

    除了基本的图片和文字水印外,还可以进一步扩展以下功能: - **动态调整水印大小**:根据原图尺寸自动调整水印大小。 - **多水印叠加**:在一个图片上添加多个水印。 - **透明度控制**:控制水印的透明度,使其更加...

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

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

    Java生成文字水印或图片水印

    分享:Java生成文字水印或图片水印

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

    2. **水印类型**:水印分为文字水印、蒙版水印和logo图片水印。文字水印涉及在图像上绘制文字,需要调整字体、颜色、透明度和角度;蒙版水印则是在图像上覆盖一层半透明的图案或颜色;logo图片水印则是将一个图片...

    去除pdf的图片水印和文字水印

    使用itext开发包对pdf文件进行去水印操作,包括删除图片水印和文字水印。通过遍历pdf的contents对象和xobjects对象,进行对象删除,速度快,效率高

    eclipse-java-indigo-SR2-win32

    综上所述,"eclipse-java-indigo-SR2-win32"是一个专门为Windows 32位系统设计的Eclipse IDE版本,它包含了对Java开发的强大支持,并且集成了FindBugs、PMD和Checkstyle等代码质量管理工具,旨在提供一个高效、稳定...

    Java添加水印(图片水印,文字水印)

    第二种是添加图片水印和文字水印两种方法,水印图片可以是GIF,PNG透明的文件,我一般采用的是PNG的,因为它的质量和GIF相比要高一些; 适用人群:Java开发者 使用场景:版权信息标注 目标:可以直接拿来用

    java图片文字水印

    本文将深入探讨如何使用Java实现这一功能,包括文字水印和图片水印的创建,以及如何调整文字的颜色、大小等属性。 首先,我们需要引入一个支持图像处理的库,如Apache Commons Imaging(前身是Sanselan)或Java ...

    大学生体质测试-大学生体质测试系统-大学生体质测试管理系统java代码-基于springboot的大学生体质测试系统-项目代码

    大学生体质测试-大学生体质测试系统-大学生体质测试系统源码-大学生体质测试管理系统-大学生体质测试管理系统java代码-大学生体质测试系统设计与实现-基于springboot的大学生体质测试系统-基于Web的大学生体质测试...

    java实现对图片加水印

    对于给定的压缩包文件"Hello",假设它包含了一个示例Java代码或一个已经添加了水印的图片。如果代码,可以通过阅读和理解代码结构,学习如何在自己的项目中应用类似的方法。如果是一个图片,可能是已经加了水印的...

    java2python--java代码转python工具

    “java2python-master”可能是指这个工具的主分支或主版本,暗示这是一个Git仓库的名字,其中包含项目的源代码、文档、测试用例以及其他资源。用户可以克隆或下载这个仓库,编译并运行工具,或者根据提供的文档了解...

    java aspose文件转化-去水印(保证可用)

    `Doc2pdf.java`是一个示例代码文件,展示了如何使用Aspose.Words将Word文档转换为PDF。在Java程序中,你需要导入Aspose库,然后加载Word文档,创建一个PdfSaveOptions对象,设置相关选项,最后调用save方法,将Word...

    java生成水印图片

    在Java编程语言中,生成带有水印的图片是一项常见的任务,尤其在版权保护、品牌标识或者数据可视化等领域。本文将详细讲解如何利用Java实现这一功能,包括如何动态设置水印的文字大小、颜色以及水印的倾斜角度。 ...

    java基础教程----精华版

    - 为了管理类和接口,Java引入了包的概念,如`java.util`,`java.io`等,方便代码的组织和导入。 5. **输入输出(I/O)**: - Java的`java.io`包提供了丰富的类处理输入输出,如FileInputStream, ...

    java制作水印简单强大易学

    在Java编程语言中,制作水印是一项常见的任务,特别是在处理图像时,比如为版权保护或者品牌宣传添加标识。本文将详细介绍如何使用Java实现一个简单且强大的水印制作程序,易于学习和理解。 首先,我们需要引入Java...

    selenium-java-2.44.0、selenium-java-2.44.0-srcs、selenium-server-standalone-2.44.0

    接着,`selenium-java-2.44.0-srcs.jar` 包含的是Selenium WebDriver的Java源代码。这对于开发者来说非常有价值,因为它允许深入研究Selenium的内部工作原理,调试问题,或者根据需要自定义和扩展其功能。源代码也...

    Java-图书馆管理系统(附全代Java图书管理系统-附源码编程资料码)-课程设计报告编程资料

    Java-图书馆管理系统(Java图书管理系统-附源码附全代码)-课程设计报告

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

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

Global site tag (gtag.js) - Google Analytics