代码
1.1 html模版
static String HtmlTemplateStr =
"
"body {background-color: yellow}"+
"h1 {background-color: #00ff00}"+
"h2 {background-color: transparent}"+
"p {background-color: rgb(250,0,255)}"+
"p.no2 {background-color: gray; padding: 20px;}"+
""+
""+
"
我是h1标题
"+"
""+
"
这是标题 1
"+"
这是标题 2
"+"
这是段落
"+"
这个段落设置了内边距。
"+""+
""+
"
"
"
"+"
Month"+"
Savings"+"
"+"
"+"
January"+"
这是第一行
"+"
"+"
"+"

"
这是第二行
"+"
"+"
"+"
有序列表:
"+"
- "+
"
打开冰箱门"+"
把大象放进去"+"
关上冰箱门"+"
"+"
无序列表:
"+"
- "+
"
雪碧"+"
可乐"+"
凉茶"+"
";1.2 引用的转换工具jar包
importgui.ava.html.image.generator.HtmlImageGenerator;
1.3 主要转换代码逻辑
import gui.ava.html.image.generator.HtmlImageGenerator;
public class Html2ImageTest {
static String htmlTemplate = HtmlTemplate.HtmlTemplateStr;
public static void main(String[] args) {
HtmlImageGenerator imageGenerator = new HtmlImageGenerator();
//加载html模版
imageGenerator.loadHtml(htmlTemplate);
//把html写入到图片
imageGenerator.saveAsImage("hello-world.png");
}
}
转换耗时
简单的html页面0.3-0.5秒之间;
稍复杂点的页面在0.9秒甚至更多一点。
转换结果图片
使用cctv.com和cportal的图片可正常显示,使用百度图库、一些素材库网如17sucai的图片不可正常显示。
结果评估
大部分常用的Html元素如h1、p、div、img、table、li、lu等可带样式转换成功,目前常用的input标签转换不成功,在生成的图片中不显示。图片大小显示正常。
转换耗时在0.3-1秒之间,可接受,不影响用户体验。