基于Java的MathML转图片的方法(示例代码)

Maven依赖:


	de.rototor.jeuclid
	jeuclid-core
	3.1.14

示例:

@Test
public void testMathMlToImg() throws IOException {
	//MathML字符串
	String mathStr = "\n" +
			"        f\n" +
			"            (\n" +
			"            x\n" +
			"            )\n" +
			"            >\n" +
			"            \n" +
			"                \n" +
			"                    2\n" +
			"                \n" +
			"                8\n" +
			"            \n" +
			"            +\n" +
			"            1\n" +
			"        ";
	//创建转换器
	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

转换结果如下:

关于outFileType参数的取值,支持以下几种:

image/png
image/vnd.wap.wbmp
image/x-png
image/jpeg
image/tiff
image/bmp
image/gif

以上就是基于Java的MathML转图片的方法(示例代码)的详细内容,更多关于Java MathML转图片的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(基于Java的MathML转图片的方法(示例代码))