font awesome java_java awt实现 fontawesome转png
java awt实现 fontawesome转png
图片左右滚动代码
001
package net.yunstudio.demo;
002
003
import java.awt.Color;
004
import java.awt.Font;
005
import java.awt.FontMetrics;
006
import java.awt.Graphics;
007
import java.awt.image.BufferedImage;
008
import java.io.BufferedReader;
009
import java.io.File;
010
import java.io.FileInputStream;
011
import java.io.FileOutputStream;
012
import java.io.IOException;
013
import java.io.InputStreamReader;
014
015
import javax.imageio.ImageIO;
016
017
public class Font2png {
018
public static Font loadFont(String fontFileName, float fontSize) // 第一个参数是外部字体名,第二个是字体大小
019
{
020
try {
021
File file = new File(fontFileName);
022
if(!file.exists()){
023
System.out.println("找不到字体文件");
024
}
025
026
FileInputStream aixing = new FileInputStream(file);
027
Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, aixing);
028
Font dynamicFontPt = dynamicFont.deriveFont(fontSize);
029
aixing.close();
030
return dynamicFontPt;
031
} catch (Exception e)// 异常处理
032
{http://www.huiyi8.com/gundongdaima/zuoyou/
033
e.printStackTrace();
034
return new java.awt.Font("宋体", Font.PLAIN, (int)fontSize);
035
}
036
}
037
038
public static void main(String[] args) {
039
float fontSize=24;
040
int color=0xff000000;
041
String out=new File("").getAbsolutePath();
042
String fontPath=out+"/fontawesome-webfont.ttf";
043
System.out.println(fontPath);
044
String name="icon.png";
045
String text="\uF02c";
046
int paddind=2;
047
InputStreamReader isr=new InputStreamReader(System.in);
048
BufferedReader br=new BufferedReader(isr);
049
try {
050
args=br.readLine().split("\\s+");
051
} catch (IOException e1) {
052
e1.printStackTrace();
053
}
054
055
if(args!=null){
056
for (int i = 0; i < args.length; i+=2) {
057
if(i==args.length-1){
058
continue;
059
}
060
String key=args;
061
String value=args[i+1];
062
if("--name".equals(key)){
063
name=value;
064
}else if("--text".equals(key)){
065
text=value;
066
}if("--padding".equals(key)){
067
paddind=Integer.parseInt(value);
068
}else if("--fontpath".equals(key)){
069
fontPath=value;
070
}else if ("--out".equals(key)) {
071
out=value;
072
}else if("--size".equals(key)){
073
fontSize=Float.valueOf(value);
074
}else if ("--color".equals(key)) {
075
color=Integer.decode(value);
076
}
077
}
078
}
079
int imgSize=(int) (paddind*2+fontSize);
080
BufferedImage image = new BufferedImage(imgSize, imgSize,
081
BufferedImage.TYPE_4BYTE_ABGR_PRE);
082
083
Graphics g=image.getGraphics();
084
085
Font font=loadFont(fontPath, fontSize);
086
g.setFont(font);
087
g.setColor(new Color(color,true));
088
089
FontMetrics fm = g.getFontMetrics();
090
int stringWidth = fm.stringWidth(text);
091
int stringAscent = fm.getAscent();
092
int stringDescent = fm.getDescent ();
093
int x = image.getWidth() / 2 - stringWidth / 2;
094
int y = image.getHeight() / 2 + (stringAscent - stringDescent) / 2;
095
096
g.drawString(text, x, y);
097
098
FileOutputStream fos=null;
099
try {
100
fos=new FileOutputStream(out+'/'+name);
101
ImageIO.write(image, "png", fos);
102
fos.close();
103
} catch (Exception e) {
104
e.printStackTrace();
105
}
106
107
}
108
109
}
font awesome java_java awt实现 fontawesome转png相关推荐
- Duplicate method name “$$$getFont$$$“ with signature “(Ljava.lang.String;IILjava.awt.Font;)Ljava.awt
做IDEA插件的时候明明没有改动代码,却突然报错不能运行了,一番查找百度,得到答案 使用clean,把依赖构筑什么的都清空再运行就不会报这个错误了; 答案来源: Duplicate met ...
- java.awt.font 宋体,SpringBoot项目集成字体工具类
场景:采用JasperReport生成报表时,若将模版中的字体配置成宋体时.部署在不同的系统上时,可能会出现中文乱码的情况,也可以适用于其他任何需要单独配置字体的第三方库. 首先,你可以给部署的服务器 ...
- 坦克大战java_java版坦克大战游戏源码
[java]代码库package tankwar; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; imp ...
- java awt 初始化_Java awt项目开发
通过Java awt 界面上的知识编写的扫雷游戏 代码中有详细的注解 package com.langsin.saolei; import java.awt.Color; import java.aw ...
- 折线图 java_java报表折线图
package com.potevio.rnd.tobacco.mine; import java.util.Map; /** * @description 数据BEAN * @author Zhou ...
- 敲地鼠java_Java实现的打地鼠小游戏完整示例【附源码下载】
本文实例讲述了Java实现的打地鼠小游戏.分享给大家供大家参考,具体如下: 这里涉及到java线程和GUI的相关知识,一个简单的java小游戏打地鼠,有兴趣的朋友可以优化一下.先来看看运行效果: 具体 ...
- JAVA awt eventqueue_线程“AWT-EventQueue-1”中的异常java.lang.NullPointerException
嗨,我收到错误 Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException at P6.itemSt ...
- linux 图片编辑 java_Java的图片处理工具类
Java的图片处理工具类: 可实现以下常用功能:缩放图像.切割图像.图像类型转换.彩色转黑白.文字水印.图片水印等 import java.awt.AlphaComposite; import jav ...
- graphics2d 乱码 java_java Graphics2D绘制文字并居中并解决服务器乱码问题
java Graphics2D绘制文字并居中并解决服务器乱码问题 package com.test.testImage; import java.awt.Color; import java.awt. ...
最新文章
- 服务治理治什么,10张图告诉你答案
- vue 编译警告 Compiled with 4 warnings
- java如何解决跨站点请求伪造_AppScan漏洞扫描之-跨站点请求伪造
- linux下vtune使用
- 前端学习(1575):复习todoMVC
- java 整数存储为2进制补码形式
- IE Automation Tabs
- 基于JAVA+SpringMVC+MYSQL的排班管理系统
- [转]以绝招应对损招 查***
- Java中的反射与JDK动态代理
- cocos2dx 显示html,cocos2dx - 在游戏中显示HTML页面
- Maven – 父子 POM 示例
- MySQL进阶-02-多表设计
- 基于Arduino、ESP8266的物联网项目开发方案整理、毕业设计(第一波)
- c语言象棋教程下载,C语言程序源代码中国象棋.doc-资源下载在线文库www.lddoc.cn...
- 视网膜电图特征可以检测成人的抑郁状态和治疗反应:一种机器学习方法
- 三只大老虎和三只小老虎过河
- 刷酸记录(迪维维A酸乳膏)20190905
- css改变鼠标图片大小,CSS实现鼠标经过图片上图片等比缩放效果(代码实例)
- 工程流体力学笔记暂记15(理想流体的运动微分方程)