基于Java的MathML转图片的方法(示例代码)


Posted in Java/Android onJune 23, 2021

Maven依赖:

<dependency>
	<groupId>de.rototor.jeuclid</groupId>
	<artifactId>jeuclid-core</artifactId>
	<version>3.1.14</version>
</dependency>

示例:

@Test
public void testMathMlToImg() throws IOException {
	//MathML字符串
	String mathStr = "<math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n" +
			"        <mi>f</mi>\n" +
			"            <mo>(</mo>\n" +
			"            <mi>x</mi>\n" +
			"            <mo>)</mo>\n" +
			"            <mo>&gt;</mo>\n" +
			"            <mfrac>\n" +
			"                <msqrt>\n" +
			"                    <mn>2</mn>\n" +
			"                </msqrt>\n" +
			"                <mn>8</mn>\n" +
			"            </mfrac>\n" +
			"            <mo>+</mo>\n" +
			"            <mn>1</mn>\n" +
			"        </math>";
	//创建转换器
	Converter converter = Converter.getInstance();
	//创建layoutContext并设置相关参数
        //参数设置可以参考net.sourceforge.jeuclid.context.Parameter类
        //参数默认值可以参考LayoutContextImpl类构造方法
	LayoutContextImpl layoutContext = (LayoutContextImpl) LayoutContextImpl.getDefaultLayoutContext();
	//设置公式字体大小,默认12.0pt
	layoutContext.setParameter(Parameter.MATHSIZE, 30);
	//设置公式颜色,默认黑色
	layoutContext.setParameter(Parameter.MATHCOLOR, Color.RED);
	//转换
	Dimension dimension = converter.convert(mathStr, new FileOutputStream("f:/1.png"), "image/png", layoutContext);
	if(dimension != null){
		System.out.println("图片转换成功!高:" + dimension.getHeight() + " 宽:" + dimension.getWidth());
	}
}

输出结果:

图片转换成功!高:70.0 宽:149.0

转换结果如下:

基于Java的MathML转图片的方法(示例代码)

关于outFileType参数的取值,支持以下几种:

image/png
image/vnd.wap.wbmp
image/x-png
image/jpeg
image/tiff
image/bmp
image/gif

以上就是基于Java的MathML转图片的方法(示例代码)的详细内容,更多关于Java MathML转图片的资料请关注三水点靠木其它相关文章!

Java/Android 相关文章推荐
浅谈Python魔法方法
Jun 28 Java/Android
Java集成swagger文档组件
Jun 28 Java/Android
Java实现多文件上传功能
Jun 30 Java/Android
Java spring定时任务详解
Oct 05 Java/Android
Java异常处理try catch的基本用法
Dec 06 Java/Android
Java9新特性对HTTP2协议支持与非阻塞HTTP API
Mar 16 Java/Android
Java版 简易五子棋小游戏
May 04 Java/Android
Android基础入门之dataBinding的简单使用教程
Jun 21 Java/Android
Java实现字符串转为驼峰格式的方法详解
Jul 07 Java/Android
maven 解包依赖项中的文件的解决方法
Jul 15 Java/Android
Java代码规范与质量检测插件SonarLint的使用
Aug 05 Java/Android
SpringBoot Http远程调用的方法
Aug 14 Java/Android
springboot如何初始化执行sql语句
Java循环队列与非循环队列的区别总结
Jun 22 #Java/Android
springBoot基于webSocket实现扫码登录
Jun 22 #Java/Android
SpringBoot集成Redis,并自定义对象序列化操作
Java如何实现树的同构?
启动Tomcat时出现大量乱码的解决方法
详解java如何集成swagger组件
You might like
php设计模式 Command(命令模式)
2011/06/26 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
详解vue 组件注册
2020/11/20 Vue.js
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
Python判断操作系统类型代码分享
2014/11/22 Python
python实现二叉查找树实例代码
2018/02/08 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Python 学习教程之networkx
2019/04/15 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
Python实现Wordcloud生成词云图的示例
2020/03/30 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
绩效工资分配方案
2014/01/18 职场文书
文明学生标兵事迹
2014/01/21 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
团日活动总结模板
2014/06/25 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
Java详细解析==和equals的区别
2022/04/07 Java/Android