java将字符串生成图片

java将字符串保存为图片

因为最近接触到的需求是要将指定的字符串内容保存为图片,我知道肯定要用awt相关的东西,但是以前没有接触过awt,所以只能去网上学习相关的东西和找有关的资料,好在最后可以解决,直接上代码:

/**
 * @Description 通用工具类
 * @ClassName CommonUtil
 * @Author yanchengzhi
 * @date 2021.06.22 21:19
 */
public final class CommonUtil {

    /*
     * @description: 将字符串转换为BufferedImage对象
     * @param: [strs]
     * @return: java.awt.image.BufferedImage
     * @author: yanchengzhi
     * @date: 2021/6/22 21:20
     */
    public static BufferedImage createImage(String[] strs) {
        // 设置背景宽高
        int width = 600, height = 400;
        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        // 获取图形上下文对象
        Graphics graphics = image.getGraphics();
        // 填充
        graphics.fillRect(0, 0, width, height);
        // 设定字体大小及样式
        graphics.setFont(new Font("宋体", Font.BOLD,34));
        // 字体颜色
        graphics.setColor(Color.BLUE);
        for (int i = 0; i < strs.length; i++) {
            // 描绘字符串
            graphics.drawString(strs[i], 150,  70+ (i + 1) * 50);
        }
        graphics.dispose();
        return image;
    }
}

测试:

public class Test {

    public static void main(String[] args) throws IOException {
        String strs[] = new String[4];
        strs[0] = "前尘往事断肠诗,";
        strs[1] = "侬为君痴君不知。";
        strs[2] = "莫道世间真意少,";
        strs[3] = "自古人间多情痴。";
        // 获取BufferedImage对象
        BufferedImage image = CommonUtil.createImage(strs);
        File file = new File("C:/Users/17605/Desktop");
        String fileName = "无题.jpg";
        File jpgFile = new File(file,fileName);
        if(!jpgFile.exists()) {
            jpgFile.createNewFile();
        }
        // 创建图片输出流对象,基于文件对象
        ImageOutputStream imageOutputStream = ImageIO.createImageOutputStream(jpgFile);
        // 写入
        ImageIO.write(image,"jpg",imageOutputStream);
        // 关闭流
        imageOutputStream.close();
        System.out.println("图片写入完成,请查看!");
    }
}

运行这个main方法,控制台:
在这里插入图片描述
再看桌面:
在这里插入图片描述
生成了一个无题.jpg的图片,查看图片:
在这里插入图片描述
图片内容是OK的,是给定字符串的内容,那么将指定String内容保存为图片就完成了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值