以下是一个简单的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,这些库通常提供了更强大和灵活的功能。 [2024-02-22 17:07:15 | AI写代码神器 | 547点数解答]