我确实尝试使用Sympy将包含数学方程的字符串转换为Latex代码,并将这些公式显示为图像。
例如,我尝试使用Sympy on:
K(Y) = M * X + B 这在Sympy行不通。(至少对我来说)这将在Sympy起作用。(至少对我来说)
M*X + B也许有人已经给出了一些提示,如何将下面的内容成功地嵌入GUI中:
import random
import os
import pikepdf
import fitz # PyMuPDF, imported as fitz for backward compatibility reasons
from kivymd.uix.label import MDLabel
import sympy as syp
from sympy import *
from sympy.abc import _clash1
from functools import partial
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import io
from kivy.uix.image import Image
from kivy.graphics.context_instructions import Color
from kivy.graphics.vertex_instructions import Rectangle
from kivy.properties import StringProperty, Clock
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.image import Image
from kivy.uix.widget import Widget
from PIL import Image, ImageChops
from io import BytesIO as StringIO
import matplotlib.pyplot as plt
b = ["Lineare Beispielfunktion"]
a = ["K ( X) = M * X + B ", 1, 5]
Gleichung = a[0]
Gleichung = latex(sympify(Gleichung))
def render_latex(formula, fontsize=12, dpi=3000, format_='svg'):
"""Renders LaTeX formula into image.
"""
fig = plt.figure(figsize=(0.01, 0.01))
fig.text(0, 0, u'${}$'.format(formula), fontsize=fontsize)
buffer_ = StringIO()
fig.savefig(buffer_, dpi=dpi, transparent=True, format=format_, bbox_inches='tight',
pad_inches=0.0)
plt.close(fig)
return buffer_.getvalue()
image_bytes = render_latex(Gleichung,fontsize=80, dpi=200, format_='jpg')
with open('Image_toDisplay', 'wb') as image_file:
image_file.write(image_bytes)我获得了从Stackoverflow生成der Image的函数(现在无法在堆栈溢出上找到源代码),但是您可以在这里找到它(感谢您帮助添加源代码):论朱蒂卜的求索法我的问题是iam使用Sympy的方式。显然我用错了方法。欢迎提出任何建议。
发布于 2021-12-20 07:01:58
好的,我确实尝试了一些不太好的东西,但我确实为我工作过,我会先勾勒出这个概念,然后展示代码:
import re)和:re.split('=', Gleichung)拆分'=‘a上的字符串补充信息:格莱中是德国的方程式。如果有什么我应该改变的地方,或者用一种更吡啶化的方式来做这件事,那就自由地去贡献吧。还有一件重要的事情:我从堆栈溢出获得的呈现到乳胶的函数,如果你知道源,给我一个提示,我想把这个链接到我的问题。
https://stackoverflow.com/questions/70418137
复制相似问题