ฉันค้นหาหัวข้อนี้แล้ว แต่ไม่สามารถหาคำตอบโดยตรงได้ และฉันก็ใช้จาวาสคริปต์ไม่เก่งด้วย ดังนั้นฉันหวังว่าจะมีคนแสดงให้ฉันเห็นว่าต้องทำอย่างไร
ฉันแค่ต้องการแสดงคณิตศาสตร์ใน 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>
ผลลัพธ์ที่ฉันได้รับตอนนี้คือ
ฉันเข้าใจอีกครั้งว่าทำไมมันถึงใช้งานไม่ได้ เนื่องจากคณิตศาสตร์อยู่ในสตริง Mathjax จึงไม่สามารถมองเห็นและประมวลผลได้ แต่ต้องเป็นเชือกเพื่อใช้เป็นผ้าใบ ฉันไม่สามารถเขียน context.fillText($\sin(x)$, 50, 100);
โดยไม่มีเครื่องหมายคำพูดแบบสตริงได้ เนื่องจากมันจะใช้งานไม่ได้
อาจเป็นคำถามที่เกี่ยวข้องกันคือสิ่งนี้ แต่ไม่แน่ใจ
ฉันจะจัดรูปแบบ html ด้วย MathJax หลังจากโหลดโดยใช้ jQuery.load?