图片添加水印,加载系统外部字体无效问题

问题描述

给图片添加水印加载外部字体无效问题

1.加载外部字体代码如下:

InputStream resourceAsStream = ImageDemo.class.getResourceAsStream("/WEB-INF/font/YeZiGongChangZuiHanJiangXingCao-2.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, Objects.requireNonNull(resourceAsStream));

需要注意一定先编译项目,编译完后classes中存在字体,否则会报空指针异常,类加载器加载不到文件
注意:一定先编译项目,编译完后classes中存在字体,否则会报空指针异常,类加载器加载不到文件;

2.字体加载到了,但图片添加的水印仍然无效,如
在这里插入图片描述
我也没有找出什么原因,有知道的求告知!!!

3.换种思路,先将字体加载到系统里,然后再调用字体

static {
        Font font = null;
        try {
            font = Font.createFont(Font.TRUETYPE_FONT, new File("D:\\1FileTest\\font\\YeZiGongChangZuiHanJiangXingCao-2.ttf"));
        } catch (Exception e) {
            e.printStackTrace();
        }
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        ge.registerFont(font);
    }

直接调用

// InputStream resourceAsStream = ImageDemo.class.getResourceAsStream("/WEB-INF/font/YeZiGongChangZuiHanJiangXingCao-2.ttf");
// Font font = Font.createFont(Font.TRUETYPE_FONT, Objects.requireNonNull(resourceAsStream));
//也字工厂醉寒江行草 标准 为字体名
  Font font = new Font("也字工厂醉寒江行草 标准", Font.PLAIN, 28);
  pen.setFont(font);

如图草书字体生效
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值