基于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方法重载和方法重写的区别到底在哪?
Jun 11 Java/Android
Java数据结构之链表相关知识总结
Jun 18 Java/Android
Java Optional<Foo>转换成List<Bar>的实例方法
Jun 20 Java/Android
图解排序算法之希尔排序Java实现
Jun 26 Java/Android
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
Jul 01 Java/Android
java泛型通配符详解
Jul 25 Java/Android
SpringMVC 整合SSM框架详解
Aug 30 Java/Android
Spring中的使用@Async异步调用方法
Nov 01 Java/Android
SpringBoot2零基础到精通之数据库专项精讲
Mar 22 Java/Android
java如何实现获取客户端ip地址的示例代码
Apr 07 Java/Android
零基础学java之循环语句的使用
Apr 10 Java/Android
SpringBoot详解自定义Stater的应用
Jul 15 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 文件上传系统手记
2009/10/26 PHP
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
JS 毫秒转时间示例代码
2013/09/22 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
Python面向对象之Web静态服务器
2019/09/03 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
匡威英国官网:Converse英国
2018/12/02 全球购物
暑期实习鉴定
2013/12/16 职场文书
创先争优制度
2014/01/21 职场文书
国家助学金获奖感言
2014/01/31 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
2014年销售员工作总结
2014/12/01 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
杨善洲电影观后感
2015/06/04 职场文书
庆祝教师节主题班会
2015/08/17 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers