最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Java的MathML轉(zhuǎn)圖片的方法(示例代碼)

 更新時(shí)間:2021年06月23日 11:10:45   作者:布禾  
最近接到一個(gè)新需求mathML轉(zhuǎn)圖片怎么實(shí)現(xiàn)呢?剛開始還真是蒙圈了,不知道怎么實(shí)現(xiàn),今天小編記錄一種基于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>&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>";
	//創(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方法詳解

    這篇文章主要為大家介紹了Java多線程倒計(jì)時(shí)協(xié)調(diào)器CountDownLatch的正確使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 詳解SpringMVC組件之HandlerMapping(二)

    詳解SpringMVC組件之HandlerMapping(二)

    這篇文章主要介紹了詳解SpringMVC組件之HandlerMapping(二),HandlerMapping組件是Spring?MVC核心組件,用來根據(jù)請(qǐng)求的request查找對(duì)應(yīng)的Handler,在Spring?MVC中,有各式各樣的Web請(qǐng)求,每個(gè)請(qǐng)求都需要一個(gè)對(duì)應(yīng)的Handler來處理,需要的朋友可以參考下
    2023-08-08
  • java利用mybatis攔截器統(tǒng)計(jì)sql執(zhí)行時(shí)間示例

    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中怎么將多個(gè)音頻文件拼接合成一個(gè)

    java中怎么將多個(gè)音頻文件拼接合成一個(gè)

    在Java中,將多個(gè)音頻文件拼接成一個(gè)通常需要使用一些專門的音頻處理庫,因?yàn)镴ava標(biāo)準(zhǔn)庫并不直接支持音頻文件的合并,一個(gè)常用的庫是JAVE2(Java?Audio?Video?Encoder)或JLayer(用于MP3)結(jié)合JavaFX(如果用于簡單的WAV文件)或其他類似的庫
    2024-06-06
  • java 使用策略模式操作JDBC數(shù)據(jù)庫

    java 使用策略模式操作JDBC數(shù)據(jù)庫

    這篇文章主要介紹了java 使用策略模式操作JDBC數(shù)據(jù)庫的相關(guān)資料,這里提供實(shí)例實(shí)現(xiàn)對(duì)JDBC數(shù)據(jù)庫的操作增刪改查的功能,需要的朋友可以參考下
    2017-08-08
  • 關(guān)于Springboot | @RequestBody 接收到的參數(shù)對(duì)象屬性為空的問題

    關(guān)于Springboot | @RequestBody 接收到的參數(shù)對(duì)象屬性為空的問題

    這篇文章主要介紹了關(guān)于Springboot | @RequestBody 接收到的參數(shù)對(duì)象屬性為空的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 詳解Java拋出和聲明異常的代碼實(shí)現(xiàn)

    詳解Java拋出和聲明異常的代碼實(shí)現(xiàn)

    我們在編寫代碼時(shí),有時(shí)候因?yàn)槟承┰?并不想在這個(gè)方法中立即處理產(chǎn)生的異常,也就是說并不想進(jìn)行異常的捕獲,接下來小編就來教會(huì)大家該如何進(jìn)行異常的拋出,需要的朋友可以參考下
    2023-08-08
  • JavaEE Cookie的基本使用細(xì)節(jié)

    JavaEE Cookie的基本使用細(xì)節(jié)

    本章我們將學(xué)習(xí)會(huì)話跟蹤技術(shù)中的Cookie與Session,它在我們整個(gè)JavaEE的知識(shí)體系中是非常重要的,本節(jié)我們先介紹Cookie,廢話不多說,直接上正文
    2022-12-12
  • SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解

    SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解

    這篇文章主要介紹了SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解,在SpringBoot的日常開發(fā)中,一般都是同步調(diào)用的,但實(shí)際中有很多場景非常適合使用異步來處理,需要的朋友可以參考下
    2024-01-01
  • Java中Klass模型與類加載的詳細(xì)機(jī)制

    Java中Klass模型與類加載的詳細(xì)機(jī)制

    這篇文章主要介紹了Java中Klass模型與類加載的詳細(xì)機(jī)制,java語言是在jvm中運(yùn)行而jvm是不認(rèn)識(shí)java代碼的我們使用javac編譯的class文件jvm是不認(rèn)識(shí)的 所以有一個(gè)類加載的動(dòng)作 這個(gè)動(dòng)作就是把class字節(jié)碼拼裝成一個(gè)klass類型,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

阳城县| 巴里| 婺源县| 阿拉善右旗| 鄂托克前旗| 洞头县| 富裕县| 韩城市| 平陆县| 鸡西市| 兰考县| 福建省| 都江堰市| 灵丘县| 永年县| 横峰县| 平果县| 瑞金市| 长武县| 新竹县| 澄迈县| 阿鲁科尔沁旗| 右玉县| 南溪县| 黄梅县| 中阳县| 洞口县| 浠水县| 镇宁| 周口市| 新源县| 张家界市| 洞头县| 稷山县| 屏南县| 泸州市| 子洲县| 三原县| 南木林县| 仙游县| 顺义区|