IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> java 图片上绘制文字Graphics2D linux 中文乱码 -> 正文阅读

[开发工具]java 图片上绘制文字Graphics2D linux 中文乱码

解决方式1:

windows上的字体拷贝到linux上。

解决方式2:

本地java读写字体。
参考地址:
https://blog.csdn.net/qq_36098927/article/details/107921160

https://blog.csdn.net/echohawk/article/details/105452525

网上时候还有这个问题,不过我还没遇到:
https://blog.csdn.net/weixin_34294809/article/details/114301980?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link

3.个人解决此问题的完整代码:

 public InputStream createDistributorSharePosterInputstream(String bgOriginUrl, String wechatNickName, String wechatAvatarUrl, String wechatRecomQrcodeUrl) {
        try {
            BufferedImage bimg = getUrlByBufferedImage(bgOriginUrl);
//            String pathString = FontLoader.class.getResource("/font/msyhbd.ttf").getFile();
//            Font font2 = Font.createFont(Font.TRUETYPE_FONT, new File(pathString));
            Font  font1 = null;
            GraphicsEnvironment localGraphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
//            if(localGraphicsEnvironment.getAvailableFontFamilyNames() == null ||  localGraphicsEnvironment.getAvailableFontFamilyNames().length == 0 ){
                Font font = Font.createFont(Font.TRUETYPE_FONT, ImageGenerateUtil.class.getResourceAsStream("/font/msyhbd.ttf"));
                font1 = font.deriveFont(Font.BOLD,24f);
                localGraphicsEnvironment.registerFont(font);
//            }else{
//                font1 = new Font(typeface, Font.BOLD, 24);
//            }

            // 开启画图
            Graphics2D g2d = localGraphicsEnvironment.createGraphics(bimg);

            // 抗锯齿
            g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);


            //用户头像
            BufferedImage userLogo = getSque(getUrlByBufferedImage(wechatAvatarUrl));
            g2d.drawImage(setRadius(userLogo, 3), 336, 1064, 80, 80, null);

            //用户昵称
//            Font  font1 = font.deriveFont(Font.BOLD,24f);
            g2d.setFont(font1);
            g2d.setColor(Color.WHITE);

            // 计算文字长度,计算居中的x点坐标
            drawString(wechatNickName, bimg, g2d, font1, 1174);

            //推荐语
//            font2 = new Font(typeface, Font.BOLD, 24);
            g2d.setFont(font1);
            g2d.setColor(Color.WHITE);
            drawString("邀请您成为飞碟推荐官", bimg, g2d, font1, 1202);


            //太阳码
            Image sunCodeUrlImage = getUrlByBufferedImage(wechatRecomQrcodeUrl);
            g2d.drawImage(sunCodeUrlImage, 604, 1258, 100, 100, null);

            // 释放对象
            g2d.dispose();

            return upload(bimg);

        } catch (Exception e) {
            e.printStackTrace();
            log.info("goodsCard:{}", e.getMessage());
        }
        return null;
    }



  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 11:59:09  更:2021-09-09 12:00:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:27:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码