Java 实现:给图片添加平铺水印代码示例
以下是一个简单的Java代码示例,使用Java的`BufferedImage`类和`Graphics2D`类来在图片上添加平铺的水印。这个示例假设您已经有一个名为`imageToWatermark.jpg`的图片文件,并且您希望将其添加为水印。 ```java import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; public class Watermark { public static void main(String[] args) { try { // 加载原始图片 BufferedImage image = ImageIO.read(new File("imageToWatermark.jpg")); // 创建带有水印的图像 BufferedImage watermarkedImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = watermarkedImage.createGraphics(); g2d.drawImage(image, 0, 0, null); // 添加水印 String watermarkText = "My Watermark"; FontMetrics fm = g2d.getFontMetrics(); int textWidth = fm.stringWidth(watermarkText); int x = (image.getWidth() - textWidth) / 2; // 水印的起始位置,居中 int y = (image.getHeight() + fm.getAscent()) / 2; // 水印的起始位置,居中 g2d.setColor(Color.BLACK); // 设置水印颜色为黑色 g2d.fillRect(x, y, textWidth, fm.getAscent()); // 填充矩形以放置水印文字 g2d.setColor(Color.WHITE); // 设置文本颜色为白色 g2d.drawString(watermarkText, x + 3, y + 3); // 在矩形的中间位置添加文字 g2d.dispose(); // 释放系统资源 // 将水印图片保存到文件 ImageIO.write(watermarkedImage, "jpg", new File("watermarkedImage.jpg")); } catch (Exception e) { e.printStackTrace(); } } } ``` 这段代码首先加载原始图片,然后创建一个新的带有水印的图像。然后,它使用`Graphics2D`类将原始图像绘制到新的图像上,并在适当的位置添加水印。它将处理后的图像保存到文件中。此代码示例中的水印是平铺在整个图像上的,如果您需要更改水印的位置或大小,您需要相应地调整代码。 ######[AI写代码神器 | 589点数解答 | 2024-02-22 17:05:52]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)422
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)49
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)324
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1201
- jQuery 实现动态操作 DOM:打造可增删任务的待办事项列表应用(百度文心 | 1015点数解答 | 2024-10-26 23:41:22)444
- jQuery 打造实用待办事项列表:输入添加、点击删除一步到位!(阿里通义 | 1139点数解答 | 2024-10-29 08:44:48)360
- jQuery 实现动态操作 DOM:打造带添加与删除功能的待办事项列表应用(阿里通义 | 687点数解答 | 2024-10-29 09:25:06)375
- jQuery 实战:打造可添加与删除任务的待办事项列表应用(字节豆包 | 499点数解答 | 2024-10-29 20:40:48)285
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)363
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)284
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)281
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)279