ImageIo外部字体导入

简介: ImageIo外部字体导入

 使用反射获取外部字体即可

public static void main(String[] args) throws IOException {
        //画板
        BufferedImage i = new BufferedImage(400, 400, 2);
        //画笔
        var m = i.createGraphics();
        //平滑度
        m.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);
        m.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        m.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT);
        m.setColor(Color.YELLOW);
        m.fillRect(0, 0, 400, 400);
        String s = "Hello world 版权所有,陈卸甲!";
        Font font = new Font("Aa狂派手书", Font.BOLD, 20);
        //反射机制获取外部字体
        var is = Imges5.class.getClassLoader().getResourceAsStream("font/f1.ttf");
        try {
            font = createFont(Font.TRUETYPE_FONT, is);
        } catch (FontFormatException e) {
            e.printStackTrace();
        }
        //获取外部字体方式2
//        var is2 = Thread.currentThread().getContextClassLoader().getResourceAsStream("font/f1.ttf");
//        try {
//            font=Font.createFont(0,is2);
//        } catch (FontFormatException e) {
//            e.printStackTrace();
//        }
        System.out.println(font.getName());
        var fm = m.getFontMetrics(font);
        m.setColor(Color.red);
        font = font.deriveFont(50f);
        m.setFont(font);
        m.drawString(s, 10, 50);
        m.dispose();
        ImageIO.write(i, "png", new File("ziti.png"));
        Runtime.getRuntime().exec("cmd /k start ziti.png");
    }

image.gif


目录
相关文章
|
2月前
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
187 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
5月前
|
前端开发
前端引入字体文件
文章介绍了如何在前端项目中引入字体文件,并展示了具体的HTML和CSS代码示例,包括如何使用`@font-face`规则来定义字体和在页面中应用自定义字体。
162 1
前端引入字体文件
|
4月前
|
算法 Java Linux
java制作海报四:java BufferedImage 转 InputStream 上传至OSS。png 图片合成到模板(另一个图片)上时,透明部分变成了黑色
这篇文章主要介绍了如何将Java中的BufferedImage对象转换为InputStream以上传至OSS,并解决了png图片合成时透明部分变黑的问题。
190 1
|
7月前
|
前端开发 Python
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
|
9月前
|
Java
Java打开CSV文件到JTable展示
Java打开CSV文件到JTable展示
|
C# Windows
C# DataTable导出PDF,解决引入中文字体失败的问题
C# DataTable导出PDF,解决引入中文字体失败的问题
|
小程序
小程序svg图标的转换使用
小程序svg图标的转换使用
189 0
小程序svg图标的转换使用
|
Java
Java中BufferedImage的用法,如何读取保存一个图片
Java中BufferedImage的用法,如何读取保存一个图片
726 0
|
Python
PIL(pillow)简单使用:新建画布、添加文字、画矩形、裁剪、粘贴
PIL(pillow)简单使用:新建画布、添加文字、画矩形、裁剪、粘贴
443 0
PIL(pillow)简单使用:新建画布、添加文字、画矩形、裁剪、粘贴
|
Python
Python 技术篇-用xlwt库实现设置excel单元格背景颜色、给字体加粗实例演示,【附】xlwt库颜色对照表
Python 技术篇-用xlwt库实现设置excel单元格背景颜色、给字体加粗实例演示,【附】xlwt库颜色对照表
1492 0
Python 技术篇-用xlwt库实现设置excel单元格背景颜色、给字体加粗实例演示,【附】xlwt库颜色对照表

热门文章

最新文章