java将字符串生成图片

java将字符串保存为图片

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

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.imageio.stream.ImageOutputStream;/*** @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("图片写入完成,请查看!");}
}

生成了一个无题.jpg的图片,查看图片:

在这里插入图片描述

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI 综述专栏 | 超长综述让你走近深度人脸识别

来源&#xff1a;人工智能前沿讲习班 作者&#xff1a; 葛政相信做机器学习或深度学习的同学们回家总会有这样一个烦恼&#xff1a;亲朋好友询问你从事什么工作的时候&#xff0c;如何通俗地解释能避免尴尬&#xff1f;我尝试过很多名词来形容自己的工作&#xff1a;机器学习&…

机器人也能拥有人类情感:“情感计算”让机器人学会“读心术”

来源&#xff1a;《情感计算与情感机器人系统》作者&#xff1a;吴敏&#xff0c;刘振焘&#xff0c;陈略峰著随着机器人进入日常生活中的各个方面&#xff0c;人们对其提出了更高的要求&#xff0c;希望它们具有感知人类情感、意图的能力&#xff0c;这类机器人称为情感机器人…

C 语言 函数调用栈

From&#xff1a;https://www.cnblogs.com/clover-toeic/p/3755401.html https://www.cnblogs.com/clover-toeic/p/3756668.html 程序的执行过程可看作连续的函数调用。当一个函数执行完毕时&#xff0c;程序要回到调用指令的下一条指令(紧接call指令)处继续执行。函数调用过…

寒武纪创始人兼CEO陈天石博士的公开信

来源&#xff1a;来源&#xff1a;寒武纪科技摘要&#xff1a;2018年5月3日&#xff0c;寒武纪已在中国上海发布了首款云端智能芯片MLU100及相应的板卡产品。作为寒武纪的创始人和CEO&#xff0c;我非常自豪地与大家分享一个消息&#xff1a;2018年5月3日&#xff0c;寒武纪已在…

压栈, 跳转,执行,返回:从汇编看函数调用

From&#xff1a;https://www.jianshu.com/p/594357dff57e C函数调用过程原理及函数栈帧分析&#xff1a;https://blog.csdn.net/zsy2020314/article/details/9429707 从本篇开始&#xff0c;我们讨论一些高级语言中的基础设施&#xff1a;堆栈&#xff0c;函数调用&#xff0…

IBM AIX 5.3 系统管理 -- 系统启动过程详解

一. 启动过程 启动过程包含下面的一些步骤&#xff1a; 1.1启动一个系统的初始步骤是上电自检&#xff08;Power On Self Test&#xff0c;POST&#xff09;。其目的是验证基本硬件是否处于正常的工作状态。同时初始化内存、键盘、通信&#xff0c;以及音频设备。您可以看到在屏…

作弊阴影罩棋盘,人工智能咋避嫌?

来源&#xff1a;奇怪的科学家为什么要写这样一句话&#xff0c;就是为了避免剧情和现实生活中发生的事情万一差不多&#xff0c;会侵犯到别人的隐私&#xff0c;发生侵权&#xff0c;给双方带来不必要的麻烦。这位名为刘超的棋手把手机插在上衣兜里&#xff0c;摄像头正对棋盘…

ubuntu server版本安装指南(1)

ubuntu是基于GNU/Linux 的操作系统&#xff0c;本身是在同样GNU/Linux 架构下的Debian的基础上的一个版本。由于它在桌面环境上的易用性和精细度是许多人认识了他。ubuntu的强大在一定程度上体现在apt包管理系 统。安装软件不必像以前那样幸苦找到下载地址。编译安装。还要非常…

Arm中国合资公司具体布局浮出水面

来源&#xff1a;经济观察报摘要&#xff1a;作为全球最具影响力的芯片技术供应商之一&#xff0c;Arm在中国正迎来新的时代。对于Arm与中国合资公司事宜&#xff0c;5月4日下午&#xff0c;Arm授权的代表邮件回复《经济观察报》称&#xff1a;“合资公司目前刚开始运营”&…

汇编逆向基础

汇编逆向基础&#xff1a;https://www.xmind.net/m/kvJK/

深入理解Nginx~运行中的Nginx进程间的关系

在正式提供服务的产品环境下&#xff0c;部署Nginx时都是使用一个master进程来管理多个worker 进程&#xff0c;一般情况下&#xff0c;worker进程的数量与服务器上的CPU核心数相等。每一个worker进程都 是繁忙的&#xff0c;它们在真正地提供互联网服务&#xff0c;master进程…

哥伦比亚大学AI实验室主任Hod Lipson:阻碍无人驾驶技术发展的7个误区

来源&#xff1a;智车科技摘要&#xff1a;我们发现有些针对无人驾驶的误解还在广泛肆意传播&#xff0c;并且这些信息会被反对者拿来和对抗无人驾驶的推广政策。每年&#xff0c;全世界都有将近120万人死于车祸&#xff0c;这个死亡率相当于每年释放10个广岛级别的原子弹爆炸。…

PE文件结构详解 --(完整版)

From&#xff1a;https://blog.csdn.net/adam001521/article/details/84658708 PE结构详解&#xff1a;https://www.cnblogs.com/zheh/p/4008268.html PE格式解析-区段表及导入表结构详解&#xff1a;https://blog.csdn.net/qq_30145355/article/details/78859214 PE文件基本…

人工智能下一个热点探讨,为什么要提出互联网大脑模型 ?

作者&#xff1a;刘锋 计算机博士 《互联网进化论作者》前言从2008年发表论文第一次提出互联网大脑模型&#xff0c;时间已经过去十年。撰写这篇文章&#xff0c;主要是详细介绍我们在十年前提出互联网大脑模型的原因&#xff1b;十年来在计算机和智能领域产生了哪些进展&…

学会了这些技术,你离BAT大厂不远了

每一个程序员都有一个梦想&#xff0c;梦想着能够进入阿里、腾讯、字节跳动、百度等一线互联网公司&#xff0c;由于身边的环境等原因&#xff0c;不知道 BAT 等一线互联网公司使用哪些技术&#xff1f;或者该如何去学习这些技术&#xff1f;或者我该去哪些获取这些技术资料&am…

张钹院士:可解释、可理解是人工智能研究的主攻方向 | CCF-GAIR 2018

作者&#xff1a;刘鹏摘要&#xff1a;张钹院士历经了中国人工智能的从无到有&#xff0c;从弱到强&#xff0c;因而他也最能清楚地针对中国人工智能近年来的不同发展状态&#xff0c;发表适合的看法和提出正确的建议。2017 年末清华大学举办的「从阿尔法 Go 到通用人工智能&am…

小甲鱼 OllyDbg 教程系列 (二) :从一个简单的实例来了解PE文件

小甲鱼视频讲解&#xff1a;https://www.bilibili.com/video/av6889190?p6https://www.bilibili.com/video/av6889190?p7 从一个简单的实例来了解PE文件&#xff1a;https://www.freebuf.com/articles/system/86596.htmlhttps://blog.csdn.net/billvsme/article/details/383…

一键解决 go get golang.org/x 包失败

From&#xff1a;https://segmentfault.com/a/1190000018264719 问题描述 在 ubuntu 上用 sudo apt install golang-go 安装 go 的 sdk&#xff0c;之后使用 go get、go install、go mod 等命令时 (会自动下载相应的包或依赖包) 时&#xff0c;但由于众所周知的原因(墙)&#x…

「对抗深度强化学习」是如何解决自动驾驶汽车系统中的「安全性」问题的?...

原文来源&#xff1a;arXiv作者&#xff1a;Aidin Ferdowsi、 Ursula Challita、Walid Saad、Narayan B. Mandayam「雷克世界」编译&#xff1a;嗯~是阿童木呀、KABUDA对于自动驾驶汽车&#xff08;AV&#xff09;而言&#xff0c;要想在未来的智能交通系统中以真正自主的方式运…