java 图片加水印 水印倾斜
时间: 2023-08-26 08:05:09 浏览: 121
以下是Java中添加倾斜水印的示例代码:
```java
import java.awt.AlphaComposite;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class Watermark {
public static void main(String[] args) {
try {
File imageFile = new File("original_image.jpg"); // 原始图片路径
BufferedImage originalImage = ImageIO.read(imageFile);
// 创建一个带有透明度的图片
BufferedImage watermarkedImage = new BufferedImage(originalImage.getWidth(), originalImage.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = (Graphics2D) watermarkedImage.getGraphics();
// 设置字体和文字大小
Font font = new Font("Arial", Font.BOLD, 36);
g2d.setFont(font);
// 设置水印文字
String watermarkText = "Watermark";
// 设置水印倾斜角度
double angle = Math.toRadians(-45);
// 设置水印透明度
float alpha = 0.5f;
// 设置水印颜色
g2d.setColor(java.awt.Color.BLACK);
// 设置抗锯齿
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// 将水印文字绘制到图片中
g2d.rotate(angle, originalImage.getWidth() / 2, originalImage.getHeight() / 2);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
g2d.drawString(watermarkText, 100, 100);
g2d.dispose();
// 将带有水印的图片保存到本地
File outputImageFile = new File("watermarked_image.jpg");
ImageIO.write(watermarkedImage, "png", outputImageFile);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
```
这个示例代码中使用了Java的BufferedImage类来加载原始图片,并创建一个带有透明度的图片。然后使用Graphics2D类来设置水印的颜色、字体、大小、倾斜角度、透明度、抗锯齿等属性,并将水印文字绘制到图片中。最后将带有水印的图片保存到本地。
注意:在实际应用中,可能需要对图片进行缩放、裁剪等操作,因此需要根据实际情况做相应的调整。
阅读全文