利用BufferedImage处理图片时,例如生成海报往添加图片加文字,由于背景图颜色差异不统一,需要加入纯色半透明遮罩层后,再往上面添加文字。
以下代码演示:在图片底部加入一条高度20的半透明遮罩层package com;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
public class ImageUtil {
public static void main(String[] arg) throws Exception{
//底图
BufferedImage background = ImageIO.read(new File("C:\\1.png"));
Graphics2D bgG2 = (Graphics2D)background.getGraphics();
//遮罩层大小
int coverWidth = background.getWidth();
int coverHeight = 20;
//遮罩层位置
int coverX = 0;
int coverY = background.getHeight() - coverHeight;
//创建黑色遮罩层
BufferedImage cover = new BufferedImage(coverWidth, coverHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D coverG2 = (Graphi