package com.my.utils;
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class byteArray {
public static void main(String[] args) {
File srcfile=new File("C:/Users/Administrator/Desktop/工作文件夹/图片/Screenshot_2015-09-16-13-55-06.png");
File pathfile=new File("C:/Users/Administrator/Desktop/工作文件夹/图片/fukejibing.png");
addTextForImg(srcfile,"这是测试的文字",50,50,1,"F:/qqqq.JPEG");
addImgForImage(srcfile, pathfile, 100, 100, 0.5f, "F:/wwww.JPEG");
}
/**
*
* @param file 目标图片
* @param text 添加的文字
* @param positionX x轴
* @param positionY y轴
* @param alpha 文字透明度
* @param path 展示图片的位置(如:F:/qqqq.jpeg)
*/
public static void addTextForImg(File file,String text,int positionX,int positionY,float alpha ,String path){
try {
Image srcImg = ImageIO.read(file);
BufferedImage buffImg = new BufferedImage(srcImg.getWidth(null),
srcImg.getHeight(null), BufferedImage.TYPE_INT_RGB);
int wideth = srcImg.getWidth(null);
int height = srcImg.getHeight(null);
Graphics2D g = buffImg.createGraphics();
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g.drawImage(srcImg, 0, 0, wideth, height, null);
g.setColor(new Color(89,87,87));
g.setFont(new Font("方正兰亭中黑_GBK",Font.BOLD,54));
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP,alpha));
g.drawString(text, positionX, positionY);
g.drawString(text, positionX*2, positionY*2);
g.dispose();
ImageIO.write(buffImg, "JPEG", new File(path));// 输出到文件流
} catch (IOException e) {
e.printStackTrace();
}
}
/**
*
* @param srcfile 目标图片
* @param pathfile 水印图片
* @param positionX x轴
* @param positionY y轴
* @param alpha 图片透明度
* @param path 展示图片的位置(如:F:/www.jpeg)
*/
public static void addImgForImage(File srcfile,File pathfile,int positionX,int positionY,float alpha,String path){
try {
Image srcImg = ImageIO.read(srcfile);
BufferedImage buffImg = new BufferedImage(srcImg.getWidth(null),
srcImg.getHeight(null), BufferedImage.TYPE_INT_RGB);
int wideth = srcImg.getWidth(null);
int height = srcImg.getHeight(null);
Graphics2D g = buffImg.createGraphics();
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g.drawImage(srcImg, 0, 0, wideth, height, null);
Image src_biao = ImageIO.read(pathfile);
int wideth_biao = src_biao.getWidth(null);
int height_biao = src_biao.getHeight(null);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP,alpha));
g.drawImage(src_biao, positionX,positionY, wideth_biao, height_biao, null);
g.dispose();
ImageIO.write(buffImg, "JPEG", new File(path));// 输出到文件流
} catch (IOException e) {
e.printStackTrace();
}
}
}
java 添加水印文字和图片
最新推荐文章于 2023-03-13 19:59:42 发布