java中使用Graphics绘制图形验证图片,为什么图中的文字没有呈现?

发布时间 2023-10-22 19:12:08作者: 之之小侠

 

 

 项目中做了一个图形验证的功能。可选择图形中的文字,想出现的效果如上。图形上有文字。

而在实际做的过程中,发到测试环境linux系统上去之后,是下面的情况:

 

只有图,没有文字!

于是问了问度娘,说是字体的原因。项目中使用了linux中没有的字体会导致上图的问题。

但我是使用了linux中的字体之后依然不行。

后来是这样解决的。

 Graphics会使用jdk中的字体。于是找到/jdk1.8.0_301/jre/lib/fonts文件夹,里面放的就是字体文件ttf。

这个时候需要我们手动创建一个默认文件目录(作用,当系统找不到对应字体时就会使用默认字体。)

 

文件夹的名字是fallback,然后把一个字体或者我们需要的字体放进文件夹,之后重启项目,问题就解决了。