基于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设置Word文本框中的文字旋转方向的实现方法
Jun 28 Java/Android
idea以任意顺序debug多线程程序的具体用法
Aug 30 Java/Android
使用springMVC所需要的pom配置
Sep 15 Java/Android
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 Java/Android
Spring-cloud Config Server的3种配置方式
Sep 25 Java/Android
SpringBoot整合阿里云视频点播的过程详解
Dec 06 Java/Android
Java如何实现通过键盘输入一个数组
Feb 15 Java/Android
使用HttpSessionListener监听器实战
Mar 17 Java/Android
Java 超详细讲解IO操作字节流与字符流
Mar 25 Java/Android
Java存储没有重复元素的数组
Apr 29 Java/Android
SpringBoot使用ip2region获取地理位置信息的方法
Jun 21 Java/Android
Spring boot admin 服务监控利器详解
Aug 05 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中的PDO类
2015/07/06 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
python字典序问题实例
2014/09/26 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
Python csv模块使用方法代码实例
2019/08/29 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
python实现批量转换图片为黑白
2020/06/16 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
经典优秀个人求职信分享
2013/12/12 职场文书
工作表扬信的范文
2014/01/10 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
Python办公自动化PPT批量转换操作
2021/09/15 Python
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
浅析python中特殊文件和特殊函数
2022/02/24 Python