package com.langhua.ImageUtils;
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;
/**
* 给图片加水印
* @author iis
*/
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
* --X偏移量
* @param y
* --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.qhd.com.cn";
g.setColor(Color.RED);
g.setFont(new Font(fontName, fontStyle, fontSize));
g.drawString(pressText,fontSize+x,fontSize
+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:/1.jpg", "d:/2.jpg", 20, 20);
pressText("水印文字", "d:/1.jpg","宋体",1,1,25,10, 10);
}
}
分享到:
相关推荐
java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以
在Java编程领域,图片处理是一项常见的任务,包括添加水印、改变图片大小等。这里我们将深入探讨这些知识点,以及如何在Struts2框架下实现它们。 首先,让我们了解"图片水印"。水印通常用于保护版权或者为图片增加...
1. **图片加水印**: - **基本概念**:水印是一种在图片上添加不可见或可见的标记,用于证明所有权、版权或者为图片增添额外信息。在Java中,可以通过Java的图像处理库如Java AWT或JavaFX来实现。 - **实现步骤**...
针对"java 加水印 支持各种格式pdf doc 图片"这个主题,我们将深入探讨如何在Java中为PDF、DOC文档以及图片添加水印。 首先,让我们来看PDF文件的水印处理。PDF文档由于其跨平台性和阅读体验,被广泛应用。在Java中...
在给图片加水印时,我们需要用到ActionScript的位图操作类,如`flash.display.BitmapData`和`flash.geom.Matrix`。 2. **BitmapData对象**: 这是ActionScript中用于处理位图图像的核心类。我们可以创建一个`...
在Java编程语言中,添加文字或图片水印是一项常见的任务,尤其在处理图像处理和多媒体应用时。...通过这种方式,你可以在Java应用程序中轻松地为图像添加文字或图片水印,增强了图像的安全性和版权保护。
描述:“给照片加水印的程序代码给照片加水印的程序代码给照片加水印的程序代码给照片加水印的程序代码给照片加水印的程序代码给照片加水印的程序代码给照片加水印的程序代码” 标题和描述都指出了该段代码的主要...
Java PDF加水印并生成SWF是一个涉及到PDF处理和转换技术的编程任务。在这个过程中,开发者通常会使用Java库来操作PDF文档,添加水印,然后将处理后的PDF转换为SWF(Shockwave Flash)格式,以便在网络上传播或者进行...
通过以上步骤,我们可以实现在Java程序中使用JXL和POI库给Excel文件添加动态水印的功能。这种技术不仅适用于企业内部的文档管理,还可以用于任何需要保护文档版权和安全性的场景。希望这篇教程能够帮助到有类似需求...
该压缩包有四个文件:RunIt.bat(运行脚本)、WaterMarkDemo.java(主程序源代码)、source.JPG(原始图片)和mark.jpg(水印图像)。 首先,让我们理解水印的基本概念。水印是一种用于保护图像版权或添加额外信息...
这个名为"图片加水印(java版)"的PDF文档详细介绍了如何使用Java实现这个功能。以下是对该文档中关键知识点的详细解释: 1. **水印叠加**:程序的主要目标是将水印图片叠加到原始图片上。这通常通过读取原始图片和...
在Struts2中实现图片添加水印的功能,可以为网站或应用提供版权保护,美观设计,或者增强品牌形象。以下是关于如何在Struts2中实现这一功能的详细步骤和知识点: 1. **添加单个文字水印** 要添加文字水印,首先...
在Java编程语言中,添加水印到图片是一项常见的任务,特别是在图像处理或网站开发中。这个压缩包包含的源码示例展示了如何实现这一功能,同时支持图片的旋转和水印的透明度设置。让我们深入探讨一下这个Java项目中的...
本项目“下载图片_加水印项目demo”聚焦于一个具体的Java实现,它允许开发者下载网络上的图片并添加自定义水印,以保护图像的版权或者增强品牌识别度。下面将详细阐述这个项目的相关知识点。 首先,我们需要理解...
在这个项目中,我们将使用JSP来处理图片加水印的操作。 在描述中提到"j2ee给图片加上图片或文字水印",这里的j2ee指的是Java 2 Platform, Enterprise Edition,它是一个用于构建企业级应用的框架。在Java后端,我们...
JACOB(JavaCOM Bridge)是一个Java到COM桥接库,它允许Java程序调用COM组件,如Microsoft Word。在Java项目中引入JACOB库,你可以通过以下步骤实现: 1. 下载JACOB的jar文件(通常为`jacob.jar`)及其对应的本地...
Canvas是微信小程序中的一个原生组件,因此我们在使用它的时候要特别注意微信小程序对原生组件的使用说明。canvas这个组件其实就是一个画布,你可以在上面画很多你用其他方式不好实现的内容。下面我就将介绍一下怎么...
结合以上代码,你可以在Java程序中实现PDF的加密和水印功能。注意,实际开发时还需要处理异常,并确保所有资源在使用完毕后得到正确关闭。此外,对于更复杂的操作,如图片水印、动态调整水印位置等,iText也提供了...
这个特定版本15.8.0是针对Java环境的,兼容JDK 16,提供了API接口,使得开发者能够方便地在Java应用程序中处理文档操作。 要实现“word转pdf加水印”,首先需要在项目中引入`aspose-words-15.8.0-jdk16.jar`库。这...
以下是对"word文档加水印"这一主题的详细解释。 一、Word中的水印设置 在Microsoft Word中添加水印可以通过以下步骤实现: 1. 打开Word文档,进入“设计”菜单。如果你使用的是旧版本的Word,可能需要在“页面...