java生成带文字的图片_Java在背景图片上面加文字或者文字自动生成图片
正巧遇到一個項目需要圖片合成,查閱了網上許多資料之后整理了一份生成圖片的工具類,代碼如下:package org.yygzs.acker.util;
import java.io.IOException;
import javax.imageio.ImageIO;
import java.io.File;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.util.Random;
/**
* 生成圖片的工具類
* 下面的main方法是測試的,不需要可以刪除
* @author Mr.Li
* @data 2017年8月18日上午10:03:11
* @Description www.yygzs.org
*/
public class ImageAddWord {
Random random = new Random(System.currentTimeMillis());
BufferedImage buffImage = null;
Graphics2D g = null;
public ImageAddWord(int width, int height) {
buffImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
}
public ImageAddWord(){
this(32, 32);
}
/**
* 圖片生成的方法
* 如果要在已經有的圖片上面疊加文字
* 需要先調用g.drawImage方法吧圖片繪制,然后再繪制文字
* @param str 文字內容
* @param ext 文件后綴名
* 注:后綴名只能是png或者jpg
*/
public void drawWord(String str, String ext) {
g = buffImage.createGraphics();
/**
* 如果要在已有的圖片疊加文字
* 這里調用 g.drawImage()該方法
* 繪制圖片 ,酌情去掉
* 下面的方法
*/
g.setColor(Color.WHITE);// 在已有的圖片疊加文字時該方法酌情添加
g.fillRect(0, 0, buffImage.getWidth(), buffImage.getHeight());// 在已有的圖片疊加文字時該方法酌情添加
g.setColor(Color.BLACK);// 設定文字顏色
g.drawString(str, 0, 12);
String filepath = System.getProperty("java.io.tmpdir") + random.nextInt(99999) + "." + ext;
try {
ImageIO.write(buffImage, ext,new File(filepath));
System.out.println("文件已經生成,路經為" + filepath);
} catch (IOException ex) {
ex.printStackTrace();
}
}
public void setFont(Font font){
g.setFont(font);
}
public static void main(String[] args) {
ImageAddWord imageAddWord = new ImageAddWord(132, 16);
String str = "我不管我最帥,我最帥。我是你們的遙大叔!";
imageAddWord.drawWord(str,"png");
}
}
總結
以上是生活随笔為你收集整理的java生成带文字的图片_Java在背景图片上面加文字或者文字自动生成图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “绵古遁精魄”下一句是什么
- 下一篇: 北京环球影城几点开门