我正在尝试在 Android 中的 ImageView 中显示 LaTex 项目。我正在使用jlatexmath图书馆。到目前为止,我已经从公式中得到了 TexIcon 对象。现在我想在 ImageView 中显示该内容(或任何地方,只需要在活动中显示它们)。一种方法是将其转换为位图或 png,然后显示在 中ImageView,但我无法转换TexIcon为任何其他格式,这是到目前为止我的 java 代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String math = "\\frac {V_m} {K_M+S}";
TeXFormula fomule = new TeXFormula(math);
TeXIcon ti = fomule.createTeXIcon(TeXConstants.STYLE_DISPLAY, 40);
}
Run Code Online (Sandbox Code Playgroud)
编辑:我尝试在Android中使用jlatexMath,但是由于它需要大量的依赖项(例如java中的awt和swing包)才能移植到Android,我不得不中途放弃它。
这是 JLatex 存储库中提供的示例代码,但 BufferedImage 和 Insets 在 Android 中不可用。
TeXFormula formula = new TeXFormula(latex);
// Note: Old interface for creating icons:
//TeXIcon icon = formula.createTeXIcon(TeXConstants.STYLE_DISPLAY, 20);
// Note: New interface using builder pattern (inner class):
TeXIcon icon = formula.new TeXIconBuilder().setStyle(TeXConstants.STYLE_DISPLAY).setSize(20).build();
icon.setInsets(new Insets(5, 5, 5, 5));
BufferedImage image = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = image.createGraphics();
g2.setColor(Color.white);
g2.fillRect(0,0,icon.getIconWidth(),icon.getIconHeight());
JLabel jl = new JLabel();
jl.setForeground(new Color(0, 0, 0));
icon.paintIcon(jl, g2, 0, 0);
File file = new File("Example2.png");
try {
ImageIO.write(image, "png", file.getAbsoluteFile());
} catch (IOException ex) {}
Run Code Online (Sandbox Code Playgroud)
我会推荐另一个库 - https://github.com/kexanie/MathView,它是 webview 的包装器,您可以使用 MathJax 或 KaTex 库。
| 归档时间: |
|
| 查看次数: |
7812 次 |
| 最近记录: |