基于Java的MathML轉圖片的方法(示例代碼)
更新時間:2021年06月23日 11:10:45 作者:布禾
最近接到一個新需求mathML轉圖片怎么實現呢?剛開始還真是蒙圈了,不知道怎么實現,今天小編記錄一種基于Java的MathML轉圖片的方法,感興趣的朋友一起看看吧
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)建轉換器
Converter converter = Converter.getInstance();
//創(chuàng)建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轉圖片的資料請關注腳本之家其它相關文章!
相關文章
springcloud集成nacos?使用lb?無效問題解決方案
這篇文章主要介紹了解決springcloud集成nacos?使用lb?無效,通過查看spring-cloud-starter-gateway?jar中的自動配置類的源碼,得知,該jar包中是不支持負載均衡的,需要引入spring-cloud-starter-loadbalancer?來支持,需要的朋友可以參考下2023-04-04
淺談DetachedCriteria和Criteria的使用方法(必看)
下面小編就為大家?guī)硪黄獪\談DetachedCriteria和Criteria的使用方法(必看)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05

