Java实现图片循环铺水印:附完整代码示例
以下是一个简单的Java代码示例,使用Java的`BufferedImage`类和`Graphics2D`类来在图片上添加循环的水印。这个示例假设你有一个名为`watermark`的字符串,它是你想要添加到图片上的水印文本。 ```java import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; public class ImageWatermark { public static void main(String[] args) { try { // 加载原始图片 BufferedImage originalImage = ImageIO.read(new File("original_image.jpg")); // 获取图片的宽度和高度 int width = originalImage.getWidth(); int height = originalImage.getHeight(); // 创建一个新的BufferedImage对象,用于存储添加水印后的图片 BufferedImage watermarkedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 获取新的图片的绘图对象 Graphics2D g = watermarkedImage.createGraphics(); // 设置字体和颜色 g.setFont(new Font("Arial", Font.BOLD, 30)); g.setColor(Color.BLACK); // 循环添加水印到图片上 for (int y = 10; y < height; y += 20) { // 设置水印的位置,可以根据需要调整 for (int x = 10; x < width; x += 20) { // 设置水印的大小,可以根据需要调整 // 在图片上绘制水印文本 g.drawString("watermark", x, y); } } g.dispose(); // 将添加水印后的图片保存到文件 ImageIO.write(watermarkedImage, "jpg", new File("watermarked_image.jpg")); } catch (Exception ex) { ex.printStackTrace(); } } } ``` 这个代码片段只是一个基础的示例,你可能需要根据你的具体需求进行修改。例如,你可能需要调整水印的大小、位置、颜色、字体等。你也可能需要处理各种异常情况,比如文件不存在、无法读取或写入文件等。 如果你需要在大量图片上应用相同的策略,可能需要考虑使用一些图像处理库,如OpenCV或ImageJ,这些库通常提供了更强大和灵活的功能。 ######[AI写代码神器 | 547点数解答 | 2024-02-22 17:07:15]
- 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
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)488
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)373
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)363
- C++实现读取数字并输出最小值的代码及解释(字节豆包 | 113点数解答 | 2026-03-20 19:32:56)22
- C++ 实现我的世界基岩版:从简单框架到开发要点揭秘(字节豆包 | 182点数解答 | 2025-02-22 15:53:11)209
- C++ 实现完整斗地主:含洗牌、发牌与手牌展示,可按需扩展!(字节豆包 | 1028点数解答 | 2026-01-10 08:02:37)51
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)284
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)281