基于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
解决Jenkins集成SonarQube遇到的报错问题
Jul 15 Java/Android
SpringBoot SpringEL表达式的使用
Jul 25 Java/Android
springboot如何接收application/x-www-form-urlencoded类型的请求
Nov 02 Java/Android
解决persistence.xml配置文件修改存放路径的问题
Feb 24 Java/Android
Android超详细讲解组件ScrollView的使用
Mar 31 Java/Android
Android基于Fresco实现圆角和圆形图片
Apr 01 Java/Android
Android开发之底部导航栏的快速实现
Apr 28 Java/Android
Java死锁的排查
May 11 Java/Android
Android Studio实现简易进制转换计算器
May 20 Java/Android
Java完整实现记事本代码
Jun 16 Java/Android
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
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自动获取目录下的模板的代码
2010/08/08 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
jquery实现多行文字图片滚动效果示例代码
2014/10/10 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
vue data恢复初始化数据的实现方法
2019/10/31 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
PyQt实现界面翻转切换效果
2018/04/20 Python
pygame实现简易飞机大战
2018/09/11 Python
python实现图片九宫格分割
2021/03/07 Python
django用户登录验证的完整示例代码
2019/07/21 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
python实现简单飞行棋
2020/02/06 Python
Python用户自定义异常的实现
2020/12/25 Python
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
高中毕业自我鉴定
2013/12/22 职场文书
企业文化口号
2014/06/12 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
详细总结Python常见的安全问题
2021/05/21 Python