RSS上看到的,收藏了。
原文链接:http://blog.csdn.net/gooogledev/archive/2007/05/16/1611254.aspx
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
*
@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.qhd.com.cn";
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(
"
C:/shuiyin/shuiyin.gif
"
,
"
c:/shuiyin/DSC02342.JPG
"
,
20
,
20
);
}
}
发表评论
-
深入分析 Java 中的中文编码问题
2011-11-16 07:45 0几种常见的编码格式 ... -
Java 编码
2011-11-16 07:44 0http://zhidao.baidu.com/quest ... -
java字符编码原理解析
2011-11-16 07:43 0可以理解为计算机没 ... -
HttpClient
2011-11-03 11:07 824From http://www.blogjava.net/Al ... -
ECLIPSE ANT OutOfMemoryError
2011-08-04 17:23 1011ANT BUILD MEMORY ERROR: [cl ... -
JDBC BATCH
2011-07-05 14:58 0PreparedStatement ps = conn.pre ... -
OUT OF MEMORY WHEN BUILD
2011-02-22 17:47 01, ANT BUILD: In Eclipse op ... -
spring weblogic jndi
2011-02-16 09:18 1837weblogic:weblogic8.1 数据库:MySql ... -
log4j 邮件
2011-01-24 15:54 0<!-- 设置上下文参数 --> ... -
tomcat weblogic
2010-12-01 11:25 1862EJB 层基本搞定,以前测试 EJB 也都是写一个 appli ... -
ant weblogic “local class incompatible: stream classdesc serialVersionUI”
2010-11-29 12:41 2227weblogic.management.Management ... -
Debugging with the Maven Jetty Plugin in Eclipse
2010-11-15 17:42 1035debug: http://docs.codehaus.or ... -
maven tomcat eclipse debug
2010-11-15 17:36 1946from: http://bandaidprogrammin ... -
maven app tomcat 部署
2010-11-11 15:56 1307修改pom.xml,添加如下配置: <build ... -
Maven Cargo Tomcat 部署
2010-11-11 15:49 1769pom.xml中<build>下添加如下代码: ... -
java中读取配置文件各种方法
2010-09-07 12:31 01。使用Java.util.Properties类的load( ... -
ThreadGroup
2010-05-25 08:47 0在Java中每个线程都属于某个线程组(ThreadGroup) ... -
java Excel 导出
2010-03-28 20:06 0public void createExcel(OutputS ... -
java小数保留两位小数
2009-11-19 16:49 2337方式一: 四舍五入 double f = ... -
java中实现xml schema 验证文件
2009-11-16 20:05 3877XML 是可扩展标记语言,也就是说其中的标记我们可以按照我们 ...
相关推荐
3. **添加图片水印**:与添加文字水印类似,但需要加载水印图片,调整其大小和位置,再进行合并。 ```java public static BufferedImage addImageWatermark(String srcPath, String watermarkImagePath, String ...
在Java编程中,给图片添加水印是一项常见的需求,无论是为了版权保护还是...但以上代码已经足够作为基础,帮助你开始在Java中实现图片加水印的功能。记得在运行此代码前,确保已经正确引入了Apache Commons Imaging库。
JAVA处理图片 加文字水印以及灰色透明背景,处理图片。
"Java给图片加水印"这个主题,就是关于如何利用Java技术在图片上添加标识或文字,以保护版权或者增强视觉效果。下面我们将深入探讨这个话题。 首先,我们需要了解Java中的图像处理库,如Java Advanced Imaging (JAI...
图片操作类源代码,该类主要用于给图片进行缩放、加水印和得到图片的高、宽及类型。 具体操作请自己参照方法说明自己测试改写。
java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以
Java为图片添加水印功能,这个水印类的操作比较实用,不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->...
在Java编程领域,图片处理是一项常见的任务,包括添加水印、改变图片大小等。这里我们将深入探讨这些知识点,以及如何在Struts2框架下实现它们。 首先,让我们了解"图片水印"。水印通常用于保护版权或者为图片增加...
这个“java图片加水印工具类”正是为了简化这一过程而设计的,它允许开发者通过调用预定义的方法,快速地在图片上添加文字或图形水印,无需每次都手动编写相同的功能代码。 首先,我们需要了解什么是水印。水印通常...
### Java 实现图片加水印知识点详解 #### 一、背景与概述 在现代网络环境中,图片加水印是一项常用的技术手段,它主要用于版权保护、品牌宣传等方面。通过本篇文章,我们将详细介绍如何利用Java编程语言实现给图片...
10. **安全考虑**:在接收用户上传的文件时,应验证文件类型和大小,防止恶意文件上传,同时对生成的水印图片进行权限控制,避免非法访问。 通过以上这些知识点的结合运用,我们可以构建一个功能完善的Java应用,...
- **文字水印的字体大小动态调整**:根据图片宽度调整文字水印的字体大小,保持合适的比例。 - **避免覆盖关键内容**:尽量将水印放置在不会遮挡图片重要信息的区域。 通过以上步骤和策略,我们可以在Java中实现...
解决图片的批量处理大小,批量给图片加图片水印,加文字水印
总结一下,Java 2D API和JAI库都能帮助我们实现图片加水印的功能。选择哪种方式取决于具体需求,如性能、复杂性和可用资源。理解这些概念和步骤,开发者就能根据实际情况编写出自己的Java代码,实现个性化的图片水印...
java调用ffmpeg添加水印并且转换视频,代码中并没有判断哪些格式支持,那些不支持,mpg,mp4,avi,wmv基本都可以(传入格式),转换为flv avi mp4起码都没问题,其它的没事过ffmpeg是开源的支持的挺多的 补充:时间算错了,...
4. **绘制文字水印**:如果水印是文字,我们可以使用`Graphics2D.drawString()`方法在图像的指定位置绘制文字。需要考虑字体、颜色、旋转角度等因素。 5. **绘制图像水印**:如果水印是图像,我们可以使用`Graphics...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以...
// 设置水印文字的渲染属性 g2d.setColor(color); g2d.setFont(font); // 在图像的四个角落添加水印 int textWidth = g2d.getFontMetrics().stringWidth(watermarkText); int textHeight = g2d....
本文将详细讲解如何在Android中实现图片加图片Logo水印以及文字水印,并探讨它们在不同位置的设置方法。 首先,我们需要理解Android的图像处理基础。Android提供了丰富的图像处理API,包括Bitmap类用于表示位图,...
添加文字水印的工具类,自己去下JAR包,MAVEN的网站http://mvnrepository.com/