gpt4 book ai didi

java - 在 Android 中显示 LaTex

转载 作者:搜寻专家 更新时间:2023-11-01 08:38:25 24 4
gpt4 key购买 nike

我试图在 ImageView 的 android 中显示一个 LaTex 项目。我正在使用 jlatexmath 库。到目前为止,我已经从公式中获得了 TexIcon 对象。现在我想在 ImageView 中显示该内容(或任何地方,只需要在 Activity 中显示它们)。一种方法是将其转换为位图或 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);
}

最佳答案

编辑:我尝试在 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) {}

我会推荐另一个图书馆 - https://github.com/kexanie/MathView这是 webview 的包装器,您可以使用 MathJax 或 KaTex 库。

关于java - 在 Android 中显示 LaTex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34648659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com