2 个版本
0.1.1 | 2023年5月28日 |
---|---|
0.1.0 | 2023年5月28日 |
#809 in 图形API
用于 2 crates
5.5MB
50K SLoC
包含 (WOFF 字体, 41KB) MathJax_AMS-Regular.woff, (WOFF 字体, 35KB) MathJax_Main-Bold.woff, (WOFF 字体, 35KB) MathJax_Main-Regular.woff, (WOFF 字体, 23KB) MathJax_Fraktur-Bold.woff, (WOFF 字体, 22KB) MathJax_Fraktur-Regular.woff, (WOFF 字体, 21KB) MathJax_Main-Italic.woff 以及更多.
将 MathJax 表达式渲染为 SVG 或 PNG 格式。
请参阅 文档 以获取更多信息。
lib.rs
:
将 MathJax 表达式渲染为 SVG 或 PNG 格式。
包特性标志
node
- 启用 NodeJs 后端,这将在运行时尝试使用系统安装的 NodeJs 作为渲染器。如果启用,将优先于其他任何特性。browser
- 启用headless_chrome
后端,这将在渲染器中使用一个无头 Chrome 实例。如果与node
特性标志同时启用,当 NodeJs 不可用时将用作后备。auto
- 这等同于启用所有后端(目前仅为node
和browser
),请参阅MathJax::new
了解这具体做了什么。image
- 允许通过image::DynamicImage
将渲染的 SVG 转换为Render::into_image
。
默认情况下,启用了 auto
包特性。
用法
- 通过
MathJax::new
创建MathJax
的实例。 - 调用您要渲染的表达式
MathJax::render
。 - 在
Render
上调用其中一个转换方法以获取所需输出格式。
例如,如果我们想将表达式 y=\frac{1}{x}
渲染到文件 test.svg
use mathjax::MathJax;
let expression = r#"y=\frac{1}{x}"#;
let renderer = MathJax::new().unwrap();
let result = renderer.render(expression).unwrap();
let svg_string = result.into_raw(); // This is a `<svg></svg>` element.
std::fs::write("test.svg", svg_string).unwrap();
这会产生以下图像
如果我们启用了 image
功能标志,我们可以执行以下操作将它们转换为 image::DynamicImage
并将其保存到文件 test.png
use mathjax::MathJax;
let expression = r#"y=\frac{1}{x}"#;
let renderer = MathJax::new().unwrap();
let result = renderer.render(expression).unwrap();
let image = result.into_image(10.0).unwrap(); // This is an image::DynamicImage.
image.save("test.png").unwrap();
(有关 10.0
的含义,请参阅 Render::into_image
)
产生
依赖关系
~15–27MB
~248K SLoC