java 生成文字圖片的示例代碼
更新時(shí)間:2017年08月21日 09:45:55 作者:LzwGlory
本篇文章主要介紹了java 生成文字圖片的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
本文主要介紹了java 生成文字圖片的示例代碼,分享給大家,具體如下:
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class FontImage {
public static void main(String[] args) throws Exception {
createImage("請(qǐng)A1003到3號(hào)窗口", new Font("宋體", Font.BOLD, 30), new File(
"e:/a.png"), 4096, 64);
createImage("請(qǐng)A1002到2號(hào)窗口", new Font("黑體", Font.BOLD, 35), new File(
"e:/a1.png"), 4096, 64);
createImage("請(qǐng)A1001到1號(hào)窗口", new Font("黑體", Font.PLAIN, 40), new File(
"e:/a2.png"), 4096, 64);
}
// 根據(jù)str,font的樣式以及輸出文件目錄
public static void createImage(String str, Font font, File outFile,
Integer width, Integer height) throws Exception {
// 創(chuàng)建圖片
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_BGR);
Graphics g = image.getGraphics();
g.setClip(0, 0, width, height);
g.setColor(Color.black);
g.fillRect(0, 0, width, height);// 先用黑色填充整張圖片,也就是背景
g.setColor(Color.red);// 在換成黑色
g.setFont(font);// 設(shè)置畫筆字體
/** 用于獲得垂直居中y */
Rectangle clip = g.getClipBounds();
FontMetrics fm = g.getFontMetrics(font);
int ascent = fm.getAscent();
int descent = fm.getDescent();
int y = (clip.height - (ascent + descent)) / 2 + ascent;
for (int i = 0; i < 6; i++) {// 256 340 0 680
g.drawString(str, i * 680, y);// 畫出字符串
}
g.dispose();
ImageIO.write(image, "png", outFile);// 輸出png圖片
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java編程實(shí)現(xiàn)暴力破解WIFI密碼的方法分析
這篇文章主要介紹了Java編程實(shí)現(xiàn)暴力破解WIFI密碼的方法,結(jié)合具體實(shí)例形式分析了java暴力破解WiFi密碼的原理、操作步驟、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-12-12
SpringBoot數(shù)據(jù)庫(kù)初始化datasource配置方式
這篇文章主要為大家介紹了SpringBoot數(shù)據(jù)庫(kù)初始化datasource配置方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
java并發(fā)編程專題(一)----線程基礎(chǔ)知識(shí)
這篇文章主要介紹了java并發(fā)編程線程的基礎(chǔ)知識(shí),文中講解非常詳細(xì),幫助大家更好的學(xué)習(xí)JAVA并發(fā)編程,感興趣想學(xué)習(xí)JAVA的可以了解下2020-06-06
SpringBoot項(xiàng)目使用?axis?調(diào)用webservice接口的實(shí)踐記錄
這篇文章主要介紹了SpringBoot項(xiàng)目使用?axis?調(diào)用webservice接口,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
JavaWeb Servlet生命周期細(xì)枝末節(jié)處深究
Servlet指在服務(wù)器端執(zhí)行的一段Java代碼,可以接收用戶的請(qǐng)求和返回給用戶響應(yīng)結(jié)果,下面這篇文章主要給大家介紹了關(guān)于JavaWeb.servlet生命周期的相關(guān)資料,需要的朋友可以參考下2022-10-10

