public final class ImageUtils {
/**
* 图片水印
* @param pressImg 水印图片
* @param targetImg 目标图片
* @param x 修正值 默认在中间
* @param y 修正值 默认在中间
* @param alpha 透明度
*/
public final static void pressImage(String pressImg, String targetImg, int x, int y, float alpha) {
try {
File img = new File(targetImg);
Image src = ImageIO.read(img);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
//水印文件
Image src_biao = ImageIO.read(new File(pressImg));
int wideth_biao = src_biao.getWidth(null);
int height_biao = src_biao.getHeight(null);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
g.drawImage(src_biao, (wideth - wideth_biao) / 2, (height - height_biao) / 2, wideth_biao, height_biao, null);
//水印文件结束
g.dispose();
ImageIO.write((BufferedImage) image, "jpg", img);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 文字水印
* @param pressText 水印文字
* @param targetImg 目标图片
* @param fontName 字体名称
* @param fontStyle 字体样式
* @param color 字体颜色
* @param fontSize 字体大小
* @param x 修正值
* @param y 修正值
* @param alpha 透明度
*/
public static void pressText(String pressText, String targetImg, String fontName, int fontStyle, Color color, int fontSize, int x, int y, float alpha) {
try {
File img = new File(targetImg);
Image src = ImageIO.read(img);
int width = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.drawImage(src, 0, 0, width, height, null);
g.setColor(color);
g.setFont(new Font(fontName, fontStyle, fontSize));
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
g.drawString(pressText, (width - (getLength(pressText) * fontSize)) / 2 + x, (height - fontSize) / 2 + y);
g.dispose();
ImageIO.write((BufferedImage) image, "jpg", img);
} catch (Exception e) {
e.printStackTrace();
}
}
分享到:
相关推荐
在C#编程中,添加和移除图片水印是一项常见的图像处理任务,主要涉及到图形绘制和位图操作。本文将详细讲解如何利用`System.Drawing.Graphics`类和`LockBits`方法来实现这一功能。 首先,`System.Drawing.Graphics`...
在IT行业中,图片水印是一种常见的技术,用于保护版权或者增加视觉标识。Java作为一种多用途且功能强大的编程语言,提供了丰富的库和API来处理图像,包括添加水印。本篇文章将详细探讨如何使用Java实现图片水印的...
在Java编程语言中,处理图片水印涉及到图像处理和图形绘制技术。`Graphics2D`是Java 2D API的一部分,它提供了丰富的功能,可以用来在图像上添加文本、图像等元素,实现水印效果。下面我们将深入探讨如何使用`...
总的来说,Java通过Apache POI和PDFBox等库,为开发者提供了强大的工具来操作Word和PDF文档,并生成图片水印。这不仅可以提高工作效率,也能有效地保护和标记文档内容。通过深入学习和实践,开发者可以掌握这些技能...
在本文中,我们将深入探讨如何在C#编程环境中创建文字水印和图片水印,并提供一个实际的程序实例源代码。C#是一种广泛使用的面向对象的编程语言,尤其在开发Windows应用程序和.NET框架中占据重要地位。对于图像处理...
综上所述,实现“上传预览文字水印图片水印”功能,需要结合前端的文件操作API、预览展示技术,后端的文件接收、处理和存储,以及可能的SSH远程操作。每个环节都涉及多方面的技术和安全考虑,确保了用户上传文件的...
总的来说,"非常好用的图片去水印工具"是一款实用的图像处理软件,适用于那些需要清理图片水印以提升视觉效果的用户。通过理解并熟练运用这款工具,用户可以快速、高效地处理图片,为他们的电商活动增添专业性。
LSB图片水印嵌入是一种数字图像处理技术,主要用于在图像中秘密地嵌入信息,如文字、数据或其它图像,而不会明显改变原始图像的视觉效果。这种技术基于最低有效位(Least Significant Bit, LSB)的概念,是隐写术...
在图像处理领域,图片水印是一项常见的技术,用于在图片上添加标识或版权信息,以保护图片不被未经授权的使用。水印可以是文字或图片形式,通过设置透明度和宽度来达到既不影响图片主体展示,又能有效显示水印信息的...
我自己做的图片水印处理程序希望大家喜欢哦
首先,让我们了解"图片水印"。水印通常用于保护版权或者为图片增加一些标识信息。在Java中,我们可以使用诸如`Java AWT`或`JavaFX`库来创建和添加水印。例如,使用`BufferedImage`类创建一个新的图像层,然后在该层...
C# 给图片加上文字或图片水印,通过使用GDI+ 给图片上加水印。实现了透明文字与透明图片水印。可设置水印位置。
在Java编程语言中,添加文字或图片水印是一项常见的任务,尤其在处理图像处理和多媒体应用时。Graphics2D是Java 2D API的一部分,它提供了丰富的绘图和图形操作功能,包括添加水印到图像。下面将详细介绍如何使用...
快速去除图片水印是一款能快速去除图片水印软件,这款软件非常智能及傻瓜化,通过简单的操作即可轻松去除图片上的水印!去掉水印的图片不失真。同源图片一样,推荐新手使用. 快速去除图片水印 软件的使用方法: ...
批量去除图片水印尤其对于处理大量含有水印的图片时,能够极大地提高效率。本篇文章将详细探讨批量去除图片水印这一主题,以及如何利用提供的工具“BatchInpaint Portable”来实现这一目标。 首先,我们要理解什么...
【Persits.Jpeg图片水印组件】是一款专用于ASP(Active Server Pages)环境下的图片处理组件,它提供了强大的功能,可以方便地为JPG、JPEG格式的图片添加水印效果。这款组件对于Web开发者来说非常实用,特别是在创建...
本项目以C#编程语言为基础,提供了批量添加水印的功能,无论是文字水印还是图片水印,都可以轻松实现。下面我们将详细探讨这个主题。 首先,让我们理解“水印”的概念。水印是图像处理中的一个术语,指的是在原始...
"react-watermark-module" 是一个专为此设计的React组件,它允许开发者轻松集成图片水印和文字水印功能。下面将详细阐述这个组件的核心特点、用法以及如何在实际项目中应用。 一、核心特点 1. **灵活性**:react-...
《使用Teorex Inpaint高效去除图片水印的详尽指南》 在数字图像处理领域,去除图片水印是一项常见的需求。尤其是对于那些不熟悉专业图像编辑软件如Photoshop(简称PS)的用户来说,找到一款操作简便、效果显著的...
Python编程-使用OpenCV和Numpy库实现图片去水印-代码 包含;...水印覆盖,图片修复效果优化 !!! 请注意,去水印可能涉及版权问题,确保你只在你有权处理的图像上尝试这些方法,并且不要用于非法目的