基于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 相关文章推荐
Java用自带的Image IO给图片添加水印
Jun 15 Java/Android
Netty结合Protobuf进行编解码的方法
Jun 26 Java/Android
java基础——多线程
Jul 03 Java/Android
SpringDataJPA实体类关系映射配置方式
Dec 06 Java/Android
Java实现学生管理系统(IO版)
Feb 24 Java/Android
Android Flutter实现图片滑动切换效果
Apr 07 Java/Android
JavaWeb Servlet开发注册页面实例
Apr 11 Java/Android
Spring Data JPA框架的核心概念和Repository接口
Apr 28 Java/Android
Android存储中最基本的文件存储方式
Apr 30 Java/Android
Java服务调用RestTemplate与HttpClient的使用详解
Jun 21 Java/Android
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
Jul 07 Java/Android
HttpClient实现表单提交上传文件
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
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
PHP 程序员的调试技术小结
2009/11/15 PHP
PHP is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
php学习笔记 类的声明与对象实例化
2011/06/13 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
php ci框架验证码实例分析
2013/06/26 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
xtree.js 代码
2007/03/13 Javascript
javascript+xml技术实现分页浏览
2008/07/27 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
JQuery live函数
2010/12/24 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
基于jQuery实现弹幕APP
2017/02/10 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
numpy基础教程之np.linalg
2019/02/12 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
工作决心书范文
2014/03/11 职场文书
设计顾问服务计划书
2014/05/04 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
通知函的格式
2015/04/27 职场文书
2016年大学生暑假爱心支教活动策划书
2015/11/26 职场文书