上渲染 MathJax 输出

2023-11-23

我搜索过这个主题,但无法找到直接答案,而且我也不擅长 javascript。所以我希望有人能告诉我如何做到这一点。

我只是喜欢在canvas2D 中显示数学。我用context.fillText将字符串传递给canvas2d,但该字符串显然没有被Mathjax处理,因为它不在页面本身上。

这是一个 MWE。我需要修改什么才能使数学显示在画布上?

<!DOCTYPE html>

<html>
<head>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] }});
</script>

<script type="text/javascript" 
  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>        
</head>    
<body>

</p>Trying to render $\sin(x)$ inside canvas 2D as text</p>

<div>
<canvas id="e" width="200" height="200"></canvas>
<script>
  var canvas = document.getElementById("e");
  var context = canvas.getContext("2d");
  context.font = "normal 16px Arial";
  context.fillText("test string", 50, 50);
  context.fillText("$\sin(x)$", 50, 100);
</script>
</div>    
</body>
</html>

我现在得到的输出是

Mathematica graphics

再说一次,我确实理解为什么它不起作用,因为数学位于字符串内部,Mathjax 无法看到它并处理它。但它必须是供画布使用的字符串。我不能只写context.fillText($\sin(x)$, 50, 100);没有字符串引号,因为它不起作用。

可能是一个相关的问题,但不确定。

使用 jQuery.load 加载 html 后,如何使用 MathJax 格式化 html?


<canvas>文本绘制操作是独立的操作DOM 操作因此 Mathjax 无法与画布文本渲染操作交互。

我不确定是否存在<canvas>当前 MathJax 的渲染器后端。至少通过检查当前 MathJax 演示的渲染选项似乎并非如此。因此,MathJax 只能在 DOM 上创建输出。

出于安全原因,浏览器不允许渲染 DOM<canvas>直接,尽管这在技术上是可能的。否则,人们可能会通过渲染网站来窃取您登录的网站(例如 Facebook)的内容<iframe>然后渲染这个<iframe>在画布上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

上渲染 MathJax 输出 的相关文章

  • 如何使用 Phonegap 将图像加载到 HTML5 Canvas 上

    尝试将图像加载到 html5 画布上 然后使用 Phonegap 在 Android 上运行 html5 这是我的 HTML
  • 如何为网页上的文本绘制添加动画效果?

    我想要一个网页 其中有一个居中的单词 我希望用动画绘制这个单词 以便页面以与我们相同的方式 写 出该单词 即它从一个点开始 随着时间的推移绘制直线和曲线 以便最终结果是一个字形 我不在乎这是否完成
  • HTML5画布中绘制图像对象的限制区域

    我想限制画布上可以绘制图像的区域 我正在使用 Fabric js 我尝试了以下链接 但它对我不起作用 在 Fabric js 中设置对象拖动限制 https stackoverflow com questions 19979644 set
  • 画布已被跨源数据本地图像污染

    这个问题已经被问了很多次 但我只是不明白为什么这种情况会发生在我身上 基本上 我有一个画布和一个图像 当我尝试这样做时 var canvas document getElementById somecanvas var ctx canvas
  • 将内部图像替换为外部图像

    用户单击 蒙版 并上传图像 其显示的同一张图片两次 also Edit文本正在图像上显示 一旦用户单击 编辑文本 我们就会显示pop up box 在那里我们可以看到Zoomin Zoomout按钮正在显示 Issue 一旦我们点击这些按钮
  • 如何编辑 Chrome MediaRecorder 捕获的 .webm Blob

    在 Chrome 中 我在用着媒体记录器 https developer mozilla org en US docs Web API MediaStream Recording API and canvas captureStream h
  • 将外部 svg 调用到另一个 svg

    我有多个内联 svgs 所有这些都有一个共同的路径 一个图像 通常这个公共部分应该定期更改 因此 如果我将公共区域保存为单独的 svg 文件 是否可以将通用 svg 文件调用到另一个内联 svg 中 E g main svg
  • 如何使用画布应用 alpha 图层蒙版以使某些图像透明

    有人可以帮我解决这个问题吗 我想使用画布应用 alpha 图层蒙版以使某些图像透明 多谢 var redImageData redCanvas getContext 2d getImageData 0 0 200 200 overlay v
  • IE 和 Edge 上绘制图像时出现 IndexSizeError

    我发现某些代码在 Internet Explorer 和 Edge 中失败 但在 Chrome 和 Firefox 中似乎可以完美运行 var image document getElementById myImage var canvas
  • 如何在两个动画画布元素之间进行通信?

    我想在两个动画画布元素之间进行通信 我使用 Adob e Animate CC 制作了两个 html5 canvas js 动画 我已将这两个元素放入一个 html 页面中 我可以成功地从这些动画中调用函数 在下面的代码中成功触发了警报 我
  • 在 SVG 中使用变换模拟枢轴旋转

    我在 SVG 中有一个矩形 需要从特定点绕轴旋转 我能想到的最好方法是变换到枢轴的 xy 旋转角度 然后再次变换 问题是第二个变换的 xy 我认为它会在某种程度上采用 cos 和 sin 只是不确定在哪里或为什么 会旋转 90度到 也许我以
  • 在画布中的鼠标位置放大/缩小

    我正在尝试使用 p5 js 实现缩放功能 当前缩放级别以及 x 和 y 位置存储在controls view目的 默认位置或 0 0 位置位于左上角 问题是调整放大 缩小时的 x 和 y 位置值 以便无论视图的当前位置是什么 它都会停留在缩
  • html画布绘图显示出来

    我确信这个问题在我还找不到答案之前就已经被问过 我想通过在顶部绘制另一个白色矩形来擦除黑色矩形的一部分 但是许多原始黑色矩形显示出来 就像正在平均一样 canvas document getElementById canvas contex
  • 从 url 加载图像并绘制到 HTML5 Canvas

    我在从 javascript 中的 url 加载图像时遇到问题 下面的代码可以工作 但我不想从 html 加载图像 我想使用纯 JavaScript 从 url 加载图像 var c document getElementById myCa
  • Fabric js-在保存和加载回画布时缺少添加附加属性的扩展 toObject 方法

    我创建了一个带有矩形和文本的织物组 最后 我使用以下代码将自定义属性 名称 添加到组类中 我使用 JSON stringify canvas 将画布数据序列化为 JSON 并将 Json 字符串发送到 java 最后将 Json 字符串保存
  • 如何在css3中制作曲线风格的菜单?

    是否可以用css3制作曲线 圆弧样式的菜单 我可以使用canvas或HTML5中的其他东西来实现这一点吗 预先感谢 洛根 不幸的是 我不知道有什么优雅的解决方案 特别是当涉及到菜单项时 但弧线本身应该可以在纯 css 和几个 html 元素
  • 有没有办法从画布上清除一个元素而不消除其他元素?

    我正在使用画布构建页面加载器 并使用 es6 类 虽然目前我无法使其正常工作 原因之一是我找不到清除画布的方法进展 到目前为止 这是我的代码 class Loader constructor width height this width
  • 获取画布上下文的最后一个点的坐标

    我想创建一个arrowTo功能与CanvasRenderingContext2D prototype 为此 我需要获取最后一个点的坐标 例如 var ctx someCanvas getContext 2d ctx moveTo 10 40
  • 在网络上编写数学方程的最佳方法是什么?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我正在开发一个与数学相关的网页 并正在寻找一种将数学方程轻松写入网页的解决方案 目前我可以使用
  • 从 markdown 转换为 pandoc 时的 \newcommand 环境

    我使用 ipython 笔记本输入数学 然后转换为乳胶 让 mathjax 理解 newcommand 我必须把它放进去 例如 newcommand cl operatorname cl 与 mathjax 配合良好 问题是 当我使用 pa

随机推荐

  • 使用 Graph API v.2.0 获取 Facebook 好友 [重复]

    这个问题在这里已经有答案了 前段时间 我曾经带朋友这样使用Graph API 使用Graph API Explorer me friends 一切都很完美 但现在 在 2 0 版本中 我发现这种方式对于那些没有使用 通过 Facebook
  • 查找无向图中的所有循环

    如果我有一个无向图 如何获得所有循环的列表 例如 从下图中 我想要循环 a b d e c a b c b d e 这在多项式时间内是不可能的 如果可能的话 我们可以用它来找到所有循环 从而找到最大长度的循环 这意味着我们可以在多项式时间内
  • 如何实现Openid connect和Spring Security

    我是身份验证和授权的初学者 但我必须在工作中连接到 openid 连接提供商 我对如何使用 Spring Security 有所了解 首先 我通过遵循良好的方向获得了 UserInfo 对象 https oauthssodemo appsp
  • Rails:ParameterFilter::compiled_filter 尝试复制符号

    我正在使用 Rails 异常通知程序 gem 运行 Rails3 当发生异常并且应该发送电子邮件时 我从 ParameterFilter 类收到异常 我在 Rails 源代码中发现了问题 但不确定继续的最佳方法 问题出现在 ActionDi
  • 为什么 pandas.DataFrame.apply 打印出垃圾?

    考虑这个简单的数据框 a b 0 1 2 1 2 3 我执行一个 apply像这样 In 4 df apply lambda x x values Out 4 a 140279910807944 140279910807920 b 1402
  • .htaccess RewriteRule 保留 GET URL 参数

    我在保持 URL 参数正常工作时遇到问题 htaccess网址重写 My htaccess重写如下 RewriteEngine on RewriteRule a z 2 2 a zA Z0 9 index php lang 1 page 2
  • 尝试运行 Node.js 应用程序时如何修复“语法错误:无效或意外的令牌”

    我已经安装了Node js来自官方网站 下列的这些微软文档我尝试通过以下步骤创建我的第一个 Node js 应用程序 打开 PowerShell 并创建一个新目录 mkdir NodeApp 然后进入目录 cd NodeApp 在 VS C
  • 块的时间?

    有没有办法报告计算每个块需要多少时间 我正在努力从一些大型脚本创建一个文档 很高兴知道时间花在哪里 我确实使用了缓存功能 所以当然 一旦对象被缓存 处理文档就不会太慢 但我想隔离慢速块 看看如何阻止它们被重新计算 除非绝对需要 一种想法是
  • Android PCM 字节

    我正在使用 AudioRecord 类来分析麦克风中的原始 pcm 字节 所以这工作得很好 现在我需要将 pcm 字节转换为分贝 我有一个公式 可以将 Pa 中的声压转换为 db 分贝 20 log10 Pa 参考 Pa 所以问题是我从缓冲
  • 将 java 代码翻译成 kotlin 的最佳方法

    URL url new URL urlSpec HttpURLConnection connection HttpURLConnection url openConnection InputStream in connection getI
  • Java - 运行一个线程两次[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 来自另一个帖子 如果一个线程需要运行多次 那么应该创建一个 Thread 的新实例并对其调用 start 这是怎么做到的 我会使用另一层抽象 使用ExecutorService 这是
  • C++ 中 C 库的范围 -

    C 编程语言 特别版 第 431 页指出 For every header lt X h gt defining part of the C standard library in the global namespace and also
  • 计算字符串出现次数并绘制直方图

    是否有任何直接的方法可以从像下面这样的元胞数组创建直方图 连续条之间的间距应该完全相同 x 轴的标签应该是垂直方向下面的变量的相应名称 w464 w462 w461 w464 w461 w463 w466 w461 我也想知道更好的方法 F
  • 主题和行为主题有什么区别?

    我不清楚 a 之间的区别Subject and a BehaviorSubject 难道只是一个BehaviorSubject有getValue 功能 行为主体持有一个值 当它被订阅时 它会立即发出该值 主题不具有值 主题示例 使用 RxJ
  • 在 Windows 上使用 mkbundle 创建 C# 可执行文件

    我正在尝试从控制台应用程序创建可执行文件 我已经安装了 mono cygwin mingw gcc mingw zlib1 mingw zlib devel pkg config 并将以下几行添加到我的 bashrc 文件中 export
  • 使用CSS和Javascript的无限旋转动画[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我浏览了一些单页网站示例并发现了这一点 http alwayscreative net 我对背景中无限旋转的圆盘感到非常惊讶 我看过一些例子 但没有一个是这样工作的 谁能告诉我这
  • 如何停止核心动画?

    我现在正在使用核心动画为按钮设置动画 在某种情况下我想停止该动画 如何停止动画 这是为按钮设置动画的方法 void animateButton UIButton btnName CABasicAnimation pulseAnimation
  • 为什么 C++ 允许未命名函数参数?

    以下是完全合法的C code void foo int cout lt lt Yo lt lt endl int main int argc char const argv foo 5 return 0 我想知道 考虑到无法从函数内部引用它
  • “可序列化”类中的字段应该是瞬态的或可序列化的

    您好 我在声纳 lint 中收到此错误 可序列化 类中的字段应该是瞬态的或 可序列化为 私有最终条件 notEmpty lock newCondition 私有最终条件 notFull lock newCondition 私有Compara
  • 上渲染 MathJax 输出

    我搜索过这个主题 但无法找到直接答案 而且我也不擅长 javascript 所以我希望有人能告诉我如何做到这一点 我只是喜欢在canvas2D 中显示数学 我用context fillText将字符串传递给canvas2d 但该字符串显然没