Java 根据字符生成背景透明的图片

  1. 上代码
java 复制代码
package com.example.demotest.controller;

/**
 * @Author shaolin
 * @Date 2024-10-08 10:11
 **/

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.WritableRaster;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Base64;

public class TextToImage {
    public static void main(String[] args) throws IOException {
        ColorModel cm = ColorModel.getRGBdefault();
        // 指定图片宽与高
        WritableRaster wr = cm.createCompatibleWritableRaster(200, 50);
        BufferedImage bi = new BufferedImage(cm, wr, cm.isAlphaPremultiplied(), null);
        Graphics2D graphics = bi.createGraphics();
        // 设置文字
        graphics.setFont(new Font(null, Font.PLAIN, 25));
        // 设置颜色
        graphics.setColor(Color.GRAY);
        // 指定插入文字及其位置
        graphics.drawString("雷少林", 60, 35);
        graphics.dispose();
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        ImageIO.write(bi, "png", byteArrayOutputStream);
        byte[] byteArray = byteArrayOutputStream.toByteArray();
        System.out.println(Base64.getEncoder().encodeToString(byteArray));
    }
}

如果改成方法的话, 把图片宽与高 ,以及指定插入文字及其位置的俩参数以及生成的文字,都改为前端传值

  1. 如果是想后端把除中文名称外的参数写死的话,可以 把打印的base64输入到下面的地址的输入框里
    地址: https://www.uutils.com/image/base64_to_image.htm
    如图所示:

    然后点击下载,查看效果
相关推荐
喜欢吃燃面13 小时前
Linux:环境变量
linux·开发语言·学习
徐徐同学14 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
LawrenceLan14 小时前
Flutter 零基础入门(二十六):StatefulWidget 与状态更新 setState
开发语言·前端·flutter·dart
m0_7482299914 小时前
Laravel8.X核心功能全解析
开发语言·数据库·php
qq_1927798714 小时前
C++模块化编程指南
开发语言·c++·算法
Mr.朱鹏15 小时前
Nginx路由转发案例实战
java·运维·spring boot·nginx·spring·intellij-idea·jetty
代码村新手15 小时前
C++-String
开发语言·c++
qq_4017004115 小时前
Qt 中文乱码的根源:QString::fromLocal8Bit 和 fromUtf8 区别在哪?
开发语言·qt
EndingCoder16 小时前
案例研究:从 JavaScript 迁移到 TypeScript
开发语言·前端·javascript·性能优化·typescript