Java编辑图片,在同一张图片中添加水印,添加文字并保存到指定路径
时间: 2024-03-09 07:44:21 浏览: 61
可以使用Java的图像处理库Java Advanced Imaging (JAI)和Java Image I/O API来编辑图片并添加水印和文字。
以下是一个简单的示例代码,可以在同一张图片中添加水印和文字,并将结果保存到指定路径:
```java
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
public class ImageEditor {
public static void main(String[] args) throws IOException {
// 读取原始图片
String inputPath = "input.jpg";
RenderedOp image = JAI.create("fileload", inputPath);
// 添加水印
BufferedImage waterMark = ImageIO.read(new File("watermark.png"));
Graphics2D g2d = image.createGraphics();
g2d.drawImage(waterMark, 0, 0, null);
g2d.dispose();
// 添加文字
String text = "Hello, World!";
Font font = new Font("Arial", Font.BOLD, 36);
g2d = image.createGraphics();
g2d.setFont(font);
g2d.setColor(Color.RED);
g2d.drawString(text, 10, 50);
g2d.dispose();
// 保存结果图片
String outputPath = "output.jpg";
ImageIO.write(image, "jpg", new File(outputPath));
}
}
```
在上面的代码中,我们首先使用JAI库加载原始图片。然后使用Java标准库的`ImageIO`类读取水印图片,并使用`Graphics2D`类将其添加到原始图片上。接着,我们使用`Graphics2D`类将文字添加到原始图片上。最后,我们使用`ImageIO`类将修改后的图片保存到指定路径。
需要注意的是,上面的代码中使用的字体和颜色都是硬编码的,可以根据需要进行修改。另外,如果原始图片和水印图片的尺寸不一致,需要先进行缩放操作。
阅读全文