/**
* 把图片印刷到图片上
* @param pressImg -- 水印文件
* @param targetImg -- 目标文件
* @param x --x坐标
* @param y --y坐标
* @return
*/
byte[] pressImage(InputStream syInput, InputStream targetInput) {
final ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
//目标文件
Image src = ImageIO.read(targetInput);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth,
height,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
//水印文件
Image src_biao = ImageIO.read(syInput);
int wideth_biao = src_biao.getWidth(null);
int height_biao = src_biao.getHeight(null);
int x = 0, y = 0;
A: for (int i = 0; ; i++) {
x = wideth_biao * i;
if(x >= wideth)
break A;
B: for (int j = 0; ; j++) {
y = height_biao * j;
if(y > height)
break B;
g.drawImage(src_biao, x, y, wideth_biao, height_biao, null);
}
}
//水印文件结束
g.dispose();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
return out.toByteArray();
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
} finally {
try {
out.close();
} catch (IOException e) {
}
}
return null;
}
给图片添加水印
最新推荐文章于 2024-07-12 16:18:24 发布