public static void saveJPEGImage(BufferedImage bi, File outputFile,
int quality) throws FileNotFoundException, IOException {
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(outputFile));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
param.setQuality(quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(bi);
out.close();
}
public static void watermarkImage(File imageFile, String message)
throws FileNotFoundException, IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
imageFile));
BufferedImage bi = ImageIO.read(bis);
Graphics2D g = (Graphics2D) bi.getGraphics();
int width = bi.getWidth();
int height = bi.getHeight();
Font myFont = new Font("Sans", Font.BOLD, 18);
Rectangle2D bb = myFont.getStringBounds(message, g
.getFontRenderContext());
if (width < bb.getWidth() + 6 || height < bb.getHeight() + 20)
return;
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
(float) 0.5));
int x = width - (int) bb.getWidth() - 3;
int y = height - 10;
g.setFont(myFont);
g.setColor(Color.lightGray);
g.drawString(message, x, y);
saveJPEGImage(bi, imageFile, 100);
}
分享到:
相关推荐
在Java编程语言中,给图片添加水印是一项常见的任务,特别是在网站开发中,为了保护版权或者标识来源,经常需要在用户上传的图片上添加特定的文字或图像水印。以下将详细讲解如何使用Java来实现这一功能。 首先,...
在IT行业中,为图片添加水印是一项常见的任务,特别是在网页设计、社交媒体管理和版权保护等领域。在本项目中,我们将探讨如何使用JavaScript实现这一功能。这个项目适用于VS2010开发环境,它允许用户在上传图片之前...
在Java中给图片添加水印是一种常见的保护图片的方法,特别是在需要防止图片被盗用或者滥用的情况下。为了实现这一功能,Java提供了多种方式,其中常用的是使用ImageIO和Apache的Commons Imaging库。 ImageIO是Java...
在图像处理领域,给图片添加水印是一种常见的需求,它能保护版权,防止未经授权的使用。MATLAB作为一款强大的数值计算和数据可视化软件,也提供了丰富的图像处理工具箱,使得在MATLAB中实现图片加水印变得相对简单。...
分享一个php给图片添加水印的类,支持水印图片,调用方式: 先包含类文件 然后实例化类: $img = new Images; 然后提供图片: $img->imgpath(原图片路径及名称,水印图片路径及名称); 之后开始加...
本项目涉及的主题是“C#批量给图片添加水印”,这是一个常见的图像处理任务,特别是在版权保护、品牌宣传或社交媒体分享中。下面将详细介绍如何使用C#来实现这个功能。 首先,我们需要了解水印的概念。水印通常是一...
在C#编程环境中,给图片添加水印是一项常见的任务,特别是在图像处理和网站设计中。本文将详细讲解如何使用C#实现这一功能,基于给定的VS2015+.NET 2.0平台源码,重点介绍WaterManager类,它支持文字和图片水印,...
Java为图片添加水印功能,这个水印类的操作比较实用,不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->...
为了防止图像被未经授权地复制和传播,添加水印是一种常用且有效的手段。水印可以是文字形式的(如网站域名、版权声明等),也可以是图像形式的(如商标logo)。本文将基于C#编程语言和一个名为`ImageHandler.dll`的...
python实现给图片添加文字水印,也包含给动图添加文字水印。实现了两种方法,分别使用了两种不同的库。详细注释。
"如何用Photoshop给图片添加水印" 本文将详细介绍如何使用Photoshop给图片添加水印,包括新建图层、添加文字、设置字体和颜色、添加边框、调整不透明度、定义图案、填充图片等步骤。 一、 Photoshop中的图层管理 ...
### Delphi 实现给图片添加水印:使用 ImageEn 控件 #### 背景介绍 在 Delphi 开发环境中,实现对图像处理的需求时,经常会遇到需要为图片添加水印的情况。添加水印不仅可以保护图片版权,还能提高品牌识别度。本文...
C# 给图片加上文字或图片水印,通过使用GDI+ 给图片上加水印。实现了透明文字与透明图片水印。可设置水印位置。
在C#编程中,添加水印到图片是一项常见的任务,特别是在设计软件或处理图像的应用程序中。本示例主要关注如何使用C#和WPF(Windows Presentation Foundation)技术来实现这个功能,既可以添加图片水印,也可以添加...
在.NET框架下,WinForm应用程序可以用来实现一系列的图像处理功能,包括添加水印文字和水印图片。这里,我们主要关注如何在图片上添加这两种类型的水印,以及如何进行等比例缩放和图片压缩。 首先,让我们了解什么...
这个"java程序给图片添加水印源码整理"的压缩包文件包含了相关的源代码和资源,帮助开发者理解并实现这个功能。接下来,我们将详细讨论如何在Java中实现这一功能,并探讨相关的关键知识点。 首先,我们需要了解Java...
在Java编程中,给图片添加水印是一项常见的需求,无论是为了版权保护还是视觉美化。水印可以是图片形式,也可以是文字形式。本教程将详细讲解如何使用Java来实现这一功能,重点在于介绍所需的依赖包。 首先,我们...