Flutter Math发布,使用纯Flutter渲染LaTeX数学公式

Flutter Math发布,使用纯Flutter渲染LaTeX数学公式,第1张

介绍一下我最近开发的一个Flutter插件。Flutter Math是一个完全使用Dart和Flutter渲染LaTeX数学公式的插件,可以看作是移植在Dart和Flutter平台上的KaTeX。其支持的LaTeX语法大致与KaTeX相同(少数当前版本暂不支持的语法详见Github仓库),对数学公式的渲染结果几乎像素级还原KaTeX。

相比已有的flutter_tex插件,本插件完全的基于Dart和Flutter,不包含任何WebView和Javascript,性能远超过flutter_tex。大家如果频繁遇到flutter_tex带来的卡顿以及崩溃,欢迎试用Flutter Math。

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

i\hbar\frac{\partial}{\partial t}\Psi(\vec x,t) = -\frac{\hbar}{2m}\nabla^2\Psi(\vec x,t)+ V(\vec x)\Psi(\vec x,t)

\hat f(\xi) = \int_{-\infty}^\infty f(x)e^{- 2\pi i \xi x}\mathrm{d}x

项目仓库地址: GitHub地址 。目前版本为0.1.1,更多信息以及暂不支持的KaTeX特性欢迎查阅GitHub页面。欢迎打星,欢迎fork!

webview中的javascript调用android命令实现android latex显示

今天需要尝试在手机上显示latex的内容,不过android上没有latex的库(java是有的,不过我java不好,所以没用)

于是另辟蹊径,尝试用mathjax在webview上显示内容,在latex显示之后将webview转化成imageview来节省内存使用。

由于代码在办公室的电脑里…就没代码了,讲讲大概思路…

webview显示latex就很容易了,只要enable Javascript就好了

mathjax有个问题,就是他将字符渲染需要一段时间,我们要怎样才能知道渲染完成呢

在mathjax的文档(http://docs.mathjax.org/en/latest/signals.html)中我们看到在渲染阶段mathjax有signal发出,我们在获取signal实现自己的方法。

我获取的是End Process信号,在这个信号中实现Android.capture()方法

我们还要给webview加入javascriptInterface,object name是“Android”,实现webview.getImageCache(),这样就可以获得渲染结束时的webview画面了(bitmap格式)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8048731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存