基于Java的MathML轉(zhuǎn)圖片的方法(示例代碼)
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>></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>";
//創(chuàng)建轉(zhuǎn)換器
Converter converter = Converter.getInstance();
//創(chuàng)建layoutContext并設(shè)置相關(guān)參數(shù)
//參數(shù)設(shè)置可以參考net.sourceforge.jeuclid.context.Parameter類
//參數(shù)默認(rèn)值可以參考LayoutContextImpl類構(gòu)造方法
LayoutContextImpl layoutContext = (LayoutContextImpl) LayoutContextImpl.getDefaultLayoutContext();
//設(shè)置公式字體大小,默認(rèn)12.0pt
layoutContext.setParameter(Parameter.MATHSIZE, 30);
//設(shè)置公式顏色,默認(rèn)黑色
layoutContext.setParameter(Parameter.MATHCOLOR, Color.RED);
//轉(zhuǎn)換
Dimension dimension = converter.convert(mathStr, new FileOutputStream("f:/1.png"), "image/png", layoutContext);
if(dimension != null){
System.out.println("圖片轉(zhuǎn)換成功!高:" + dimension.getHeight() + " 寬:" + dimension.getWidth());
}
}
輸出結(jié)果:
圖片轉(zhuǎn)換成功!高:70.0 寬:149.0
轉(zhuǎn)換結(jié)果如下:

關(guān)于outFileType參數(shù)的取值,支持以下幾種:
image/png
image/vnd.wap.wbmp
image/x-png
image/jpeg
image/tiff
image/bmp
image/gif
以上就是基于Java的MathML轉(zhuǎn)圖片的方法(示例代碼)的詳細(xì)內(nèi)容,更多關(guān)于Java MathML轉(zhuǎn)圖片的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java多線程正確使用倒計(jì)時(shí)協(xié)調(diào)器CountDownLatch方法詳解
這篇文章主要為大家介紹了Java多線程倒計(jì)時(shí)協(xié)調(diào)器CountDownLatch的正確使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
詳解SpringMVC組件之HandlerMapping(二)
這篇文章主要介紹了詳解SpringMVC組件之HandlerMapping(二),HandlerMapping組件是Spring?MVC核心組件,用來(lái)根據(jù)請(qǐng)求的request查找對(duì)應(yīng)的Handler,在Spring?MVC中,有各式各樣的Web請(qǐng)求,每個(gè)請(qǐng)求都需要一個(gè)對(duì)應(yīng)的Handler來(lái)處理,需要的朋友可以參考下2023-08-08
java利用mybatis攔截器統(tǒng)計(jì)sql執(zhí)行時(shí)間示例
這篇文章主要介紹了java利用mybatis攔截器統(tǒng)計(jì)sql執(zhí)行時(shí)間示例,該攔截器攔截mybatis的query和update操作,能統(tǒng)計(jì)sql執(zhí)行時(shí)間2014-03-03
java 使用策略模式操作JDBC數(shù)據(jù)庫(kù)
這篇文章主要介紹了java 使用策略模式操作JDBC數(shù)據(jù)庫(kù)的相關(guān)資料,這里提供實(shí)例實(shí)現(xiàn)對(duì)JDBC數(shù)據(jù)庫(kù)的操作增刪改查的功能,需要的朋友可以參考下2017-08-08
關(guān)于Springboot | @RequestBody 接收到的參數(shù)對(duì)象屬性為空的問(wèn)題
這篇文章主要介紹了關(guān)于Springboot | @RequestBody 接收到的參數(shù)對(duì)象屬性為空的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解
這篇文章主要介紹了SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解,在SpringBoot的日常開(kāi)發(fā)中,一般都是同步調(diào)用的,但實(shí)際中有很多場(chǎng)景非常適合使用異步來(lái)處理,需要的朋友可以參考下2024-01-01

