基于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 相关文章推荐
深入理解以DEBUG方式线程的底层运行原理
Jun 21 Java/Android
分析设计模式之模板方法Java实现
Jun 23 Java/Android
ObjectMapper 如何忽略字段大小写
Jun 29 Java/Android
HashMap实现保存两个key相同的数据
Jun 30 Java/Android
mybatis 解决从列名到属性名的自动映射失败问题
Jun 30 Java/Android
简述Java中throw-throws异常抛出
Aug 07 Java/Android
关于maven依赖 ${xxx.version}报错问题
Jan 18 Java/Android
springboot+zookeeper实现分布式锁
Mar 21 Java/Android
Java GUI编程菜单组件实例详解
Apr 07 Java/Android
IDEA 2022 Translation 未知错误 翻译文档失败
Apr 24 Java/Android
Android开发 使用文件储存的方式保存QQ密码
Apr 24 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
xml+php动态载入与分页
2006/10/09 PHP
提取HTML标签
2006/10/09 PHP
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
js中document.write的那点事
2014/12/12 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
简单谈谈Python中的反转字符串问题
2016/10/24 Python
python中的字符串内部换行方法
2018/07/19 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
python中setuptools的作用是什么
2020/06/19 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
UNIX命令速查表
2012/03/10 面试题
自动化职业生涯规划书范文
2014/01/03 职场文书
巧克力蛋糕店创业计划书
2014/01/14 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
欢迎家长标语
2014/10/08 职场文书
公务员个人总结
2015/02/12 职场文书
Python实现生成bmp图像的方法
2021/06/13 Python
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏