基于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
解决SpringBoot跨域的三种方式
Jun 26 Java/Android
Spring中bean的生命周期之getSingleton方法
Jun 30 Java/Android
Java SSM配置文件案例详解
Aug 30 Java/Android
SpringBoot实现quartz定时任务可视化管理功能
Aug 30 Java/Android
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 Java/Android
JAVA API 实用类 String详解
Oct 05 Java/Android
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
Apr 24 Java/Android
Java 数组的使用
May 11 Java/Android
Java实现扫雷游戏详细代码讲解
May 25 Java/Android
Spring Cloud OAuth2实现自定义token返回格式
Jun 25 Java/Android
SpringBoot项目部署到阿里云服务器的实现步骤
Jun 28 Java/Android
springboot如何初始化执行sql语句
Java循环队列与非循环队列的区别总结
Jun 22 #Java/Android
springBoot基于webSocket实现扫码登录
Jun 22 #Java/Android
SpringBoot集成Redis,并自定义对象序列化操作
Java如何实现树的同构?
启动Tomcat时出现大量乱码的解决方法
详解java如何集成swagger组件
You might like
PHP4之COOKIE支持详解
2006/10/09 PHP
基于PHP常用函数的用法详解
2013/05/10 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
php生成圆角图片的方法
2015/04/07 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
强制设为首页代码
2006/06/19 Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
Python实用日期时间处理方法汇总
2015/05/09 Python
Python构建网页爬虫原理分析
2017/12/19 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
python分布式计算dispy的使用详解
2019/12/22 Python
详细分析Python垃圾回收机制
2020/07/01 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
货车司机岗位职责
2014/03/18 职场文书
班级心理活动总结
2014/07/04 职场文书
供电工程专业求职信
2014/08/09 职场文书
小学大队委竞选口号
2015/12/25 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
python实现简单反弹球游戏
2021/04/12 Python
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android