Java实现图片加水印且控制位置和透明度
昨天要做一个给图片加水印的功能,不想使用一些插件,就在网上转了一会儿,经过改装成了我需要的功能,代码如下:
package org.guhao;
import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
public class TestWatermark {
/**
* 图片水印
* @param pressimg 水印图片
* @param targetimg 目标图片
* @param location 位置:1、左上角,2、右上角,3、左下角,4、右下角,5、正中间
* @param alpha 透明度
*/
public static void pressImage(String pressimg, String targetimg, int location, float alpha) {
try {
//读取目标图片
File img = new File(targetimg);
Image src = ImageIO.read(img);
int width = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.drawImage(src, 0, 0, width, height, null);
//水印文件
Image src_biao = ImageIO.read(new File(pressimg));