Java 使用 Graphics2D 生成文字图片,如何提高清晰度?

2019-01-09 17:29:30 +08:00
 samples

抗锯齿也加上了就是生成的不太清晰。

    public static void main(String[] args) throws IOException {
        File destFile = new File("D:/image/jobDetail_share.png");
        BufferedImage img = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB);
        Graphics2D g = img.createGraphics();
        // 填充白色背景
        g.setColor(Color.white);
        g.fillRect(0, 0, img.getWidth(), img.getHeight());
        
        // 抗锯齿 添加文字
        g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
        g.setFont(new Font("微软雅黑", Font.PLAIN, 14));
        g.setPaint(new Color(103, 101, 120));
        g.drawString("长按识别小程序码", 20, 40);
        g.drawString("查看职位详情、在线投递简历", 20, 60);
        g.dispose();

        // 输出
        ImageIO.write(img, "png", destFile);
    }

不知道怎么展示图片,先使用有道吧,捂脸: http://note.youdao.com/noteshare?id=35e44b6160aed0da4a7738e90c4578eb

3912 次点击
所在节点    Java
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/525436

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX