2013-07-25 1 views
5

Я пишу программное обеспечение, которое отображает много математического контента. Как и в формах Windows, уже сложно установить в ярлыке индекс или греческую букву, я имею в виду переход на WPF.Как отображать математические выражения в ярлыках WPF или панелях?

В настоящий момент я ищу лучший способ визуализации математического выражения, формулы или просто символа внутри моего графического интерфейса пользователя. Они должны отображаться на этикетках или нарисованных графиках/изображениях. Отсутствие рендеринга в реальном времени и в реальном времени, но красивые символы исправления.

Каков наилучший способ сделать это? Я думал, что MathML должен хорошо поддерживаться, но я не могу найти много об этом. Я был бы рад услышать некоторые советы.

Вот, где я могу получить мои символы из (или то, что я предпочел бы): (! Первый выбор кода уже есть и тот же внешний вид в области программного обеспечения и документации будет изумительно)

  • LaTeX-код
  • MathML-код (LaTeX-код в Word 2007 или выше -> уравнения слова -> копировать в виде простого MathML в буфер обмена)
  • SVG (некоторые рендеринга латексных в Inkscape и экспорта в XAML)
  • xmcd файлов (XML-документ Mathcad. Не знаете, как , Но по крайней мере это XML)
  • html Files (написанный LaTeX-> HTML или Mathcad-> HTML

То, что я не считал бы лично, но, возможно, есть хорошие решения для:

  • изображения (png -icons, pdf, dvi, eps, svg непосредственно импортирована)
  • символы (например, копия вставленный из Character Map. Не нравится шрифты, не найти все, что нужно, и обмен формулу синтаксиса не будет дан)

Я думаю, что с помощью LaTeX, MathML или HTML будет велик, как они могут быть использованы для документации, а также , Я также мог думать об экспорте результатов вычислений в файлы *.tex или внутренне генерировать графику полностью с помощью LaTeX (tikz, pgfplots ...)

+3

Быстрый поиск дал мне это, надеюсь, что это помогает http://stackoverflow.com/questions/8899204/how-to-render-a-formula-in-wpf-or-winforms –

+0

ли требование выходят за рамки стандартных символов Unicode в стиле XML, где, например, вы можете отобразить что-то вроде символа бесконечности с символом '& # x221E;'? –

+1

@JoeStanton Thx для связи. Я тоже это нашел. Но все, что есть «старое», «неактивное», «неофициальное» или просто затраченное на меня время. Я надеялся получить новые идеи, поскольку XAML становится все более популярным в последний раз. Я получил некоторые идеи из этой ссылки, но, надеюсь, там есть что-то более практичное. – LaRiFaRi

ответ

1

Я бы пошел с чистым подходом xaml, используя datatemplates. Нет необходимости в другом векторном формате или красном двигателе. Вы можете использовать datatemplate для каждого выражения в дереве выражений. Используя viewboxes, вы можете достичь растяжения, поэтому самые верхние выражения будут больше, чем внутренние выражения. Ваши datatemplates будут генерировать визуальное дерево из дерева выражений. Я имею в виду, что в contentpresenter будут присутствовать контент-провайдеры.

Большое преимущество заключается в том, что визуализация выражения может быть отзывчивой и интерактивной, как математическое выражение в MS Word или Excel.

Я мог бы помочь вам в реализации, так как это не тривиально, если вы не знакомы с МОФ DataTemplates

+0

Однако это определенно требует много времени для реализации этого – Liero

0

Насколько я могу видеть, лучший рендеринг (на бумаге) достигается с поздним переходом от векторный файл. Я бы предпочел использовать GDI + (System.Drawing) или WPF (System.Media) для отображения формулы. Дайте мне знать, можем ли мы сотрудничать с решением WPF.

0

Рассмотрите возможность использования библиотеки с открытым исходным кодом WPF-Math (отказ от ответственности: я являюсь ее нынешним сопровождающим).

Он может помочь вам отобразить выражение LaTeX в окне WPF. Он также использует векторную графику вместо растровых изображений, поэтому формулы будут хорошо масштабироваться на современных дисплеях.

Смежные вопросы