将数据内容转化为图片

public class WqcTestController {

public static void createImage(String fileLocation, BufferedImage image) {

try {

FileOutputStream fos = new FileOutputStream(fileLocation);

BufferedOutputStream bos = new BufferedOutputStream(fos);

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);

encoder.encode(image);

bos.close();

fos.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public static void graphicsGeneration(String path, List list) {

int imageWidth = 500;// 图片的宽度

int imageHeight = 500;// 图片的高度

BufferedImage image = new BufferedImage(imageWidth, imageHeight,BufferedImage.TYPE_INT_RGB);

Graphics graphics = image.getGraphics();

graphics.setColor(Color.white);

graphics.fillRect(0, 0, imageWidth, imageHeight);

graphics.setColor(Color.BLACK);

int high = 30;

int wigth = 0;

graphics.setFont(new Font("宋体", Font.BOLD, 30));

graphics.drawString("药方详情", 200, high);

graphics.setFont(new Font("宋体", Font.BOLD, 20));

high += 10;

graphics.drawLine(0, high, 550, high);

for(Map rowMap : list){

high += 50;

wigth = 40;

for(Map.Entry entry : rowMap.entrySet()){

String name = entry.getKey() + ":" + entry.getValue();

if("title".equals(entry.getKey())){

high += 30;

graphics.setFont(new Font("黑体", Font.BOLD, 20));

graphics.drawString(entry.getValue(), wigth, high);

graphics.setFont(new Font("宋体", Font.BOLD, 20));

} else {

graphics.drawString(name, wigth, high);

wigth += 160;

}

}

}

createImage(path,image);

}

/** 图片名生成 **/

public static String genImageName() {

//取当前时间的长整形值包含毫秒

long millis = System.currentTimeMillis();

//加上三位随机数

Random random = new Random();

int end3 = random.nextInt(999);

//如果不足三位前面补0

String str = millis + String.format("%03d", end3);

return str;

}

public static void main(String[] args) {

List list = new ArrayList();

for (int i = 0; i < 8; i++) {

Map mapTitle = new HashMap();

mapTitle.put("单价/克", "20.0");

mapTitle.put("克数", "1");

mapTitle.put("名称", "柴胡");

list.add(mapTitle);

}

String path = "E:/upload/image";

File newFileDir = new File(path);

//如果不存在 则创建

if (!newFileDir.exists()) {

newFileDir.mkdirs();

}

graphicsGeneration(path+"/"+genImageName()+".jpg",list);

System.out.println("完成");

}

}

java转成图片_java 将数据内容转化为图片相关推荐

  1. java oracle 图片_JAVA读取Oracle中的blob图片字段并显示

    JAVA读取Oracle中的blob图片字段并显示 近期,在给客户做一个Demo页面时,需要用JAVA读取Oracle中的blob图片字段并显示,在此过程中,遇到一些问题,例如:连接Oracle数据库 ...

  2. java生成word排版_java生成word(文字和图片)

    1.整体思路 利用xml模板,在模板中预留占位标识(${yourContent}),然后将xml转为ftl文件,通过Map传值填充对应的内容即可,word其实和html一样,也有自己的xml标签,表头 ...

  3. java生成文字与图片_java生成word(文字和图片)

    1.整体思路 利用xml模板,在模板中预留占位标识(${yourContent}),然后将xml转为ftl文件,通过Map传值填充对应的内容即可,word其实和html一样,也有自己的xml标签,表头 ...

  4. java 批量写入文件_Java批量写入文件和下载图片的示例代码

    很久没有在WhitMe上写日记了,因为觉着在App上写私密日记的话肯定是不安全的,但是想把日记存下来.,然后看到有导出日记的功能,就把日记导出了(还好可以直接导出,不然就麻烦点).导出的是一个html ...

  5. java批量下载图片_Java批量写入文件和下载图片的示例代码

    很久没有在WhitMe上写日记了,因为觉着在App上写私密日记的话肯定是不安全的,但是想把日记存下来.,然后看到有导出日记的功能,就把日记导出了(还好可以直接导出,不然就麻烦点).导出的是一个html ...

  6. java解析txt文本文件_java读取文本文件内容方法详解,java如何读取txt文件?

    你知道java读取文本文件内容方式都有哪些吗?下面要给大家分享的就是比较简单的方法,一起来了解一下吧. 如何使用java实现读取TXT文件里的内容的方法以及思路: 下面先来看一下例子:import j ...

  7. QT图片转Base64数据 与 Base64转图片

    图片转Base64数据 m_imagePath = QFileDialog::getOpenFileName(this, tr("select image"), "./p ...

  8. php 获取内容页图片,织梦DEDECMS内容页获取图片URL地址的方法

    织梦DEDECMS内容页获取图片URL地址的方法 {dede:sql sql="select * from dede_uploads where arcid = ~id~"} [f ...

  9. html转图片_如何将html转化为图片

    需要将动态生成的html生成一个图片,然后让用户长按保存发给朋友或者朋友圈.如何将html转化为图片呢,一般是4个步骤. 1,在html里新建canvas画布 /**要生成图片的html*/<p ...

最新文章

  1. C库函数:scanf、fscanf、printf、fprintf、sprintf、 snprintf
  2. 南非的5DT数据手套使用说明
  3. insight切换窗口 source_Source Insight函数调用关系显示设置(示例代码)
  4. Django restframwork实现自定义数据格式的分页与搜索
  5. PS笔刷素材套装:81种自定义树叶水彩/水粉画
  6. 深入理解Amazon Alexa Skill(四)
  7. App架构设计经验谈
  8. 全国海选第四期:北京和海外赛区(视频)
  9. 全息投影是计算机技术吗,3D全息投影技术怎么应用在展厅的?
  10. length属性和length()方法
  11. 程序员知识体系探索:点、线、面、体
  12. 与我一起学习微服务架构设计模式1—逃离单体地狱
  13. ROS运行时出现Couldn‘t find executable错误
  14. 开源机器人库orocos KDL 学习笔记(五):Inverse Kinematric
  15. appium 等待的3中方式:强制等待、隐式等待、显示等待
  16. kafka踩坑、实践篇
  17. 在pandas里pd.Timedelta的简单介绍及使用方法
  18. 教程 | 听说,你画画很慢,不如30分钟画速写
  19. 帆软报表查询结果为空时不显示报表内容
  20. 计算机音乐制作专业大纲,电脑音乐制作教学大纲.doc

热门文章

  1. 人脸识别8-网纹照及多人脸比对
  2. webservice使用的一些总结
  3. 实测实量数据表格_实测实量测量表格(DOC)
  4. element 实现自定义 宫格 布局
  5. linux上安装游戏程序,分享|如何在 Linux 中安装 2048 游戏
  6. MIMO技术(四)OFDM技术
  7. 如何系统的学习数据库、形成自己的数据库体系、数据库快速入门
  8. maven 根据环境打包
  9. Unity 2D碰撞/UI组件碰撞
  10. ORB_SLAM3简介