2011-02-02 9 views
7

¿Cuál es el mejor método para imprimir ecuaciones matemáticas en una aplicación de escritorio C# (winforms)? El formato para la fuente no es importante; Puedo generar casi cualquier cosa con un poco de esfuerzo. Lo importante es que debería ser un rendimiento relativamente alto y una sobrecarga baja (lo sé, se supone que solo debo elegir 2 de {rendimiento, tamaño, características} pero quiero todos 3.)Pretty matemática de impresión en la aplicación de escritorio C#

Cosas que he considerado:

  • LaTeX a través de System.Process() -> dvipng. Problema: incluso un instal LaTeX mínimo es de aproximadamente 200 MB. Teniendo en cuenta que mi aplicación actualmente es ~ 400k, creo que esto es un poco excesivo.
  • Algún tipo de biblioteca de representación matemática basada en JS diseñada para la web, p. JSMath. Problema: crea una salida HTML, que aún necesita mostrarse en un WebBrowser. Bajo (probablemente muy bajo) rendimiento.
  • Rolling my own. Problemas: se necesita mucho tiempo y esfuerzo para duplicar los trabajos de aquellos que ya fueron antes. Difícil dibujar texto en C#.

¿Alguna sugerencia? ¿Alguno de ustedes ha hecho este tipo de cosas en el pasado?

+0

Debe agregar más información. Cuál es el formato deseado (en pantalla o volcado de pdf). ¿Por qué crees que la producción de HTML sería lenta? Cuán complejas son las ecuaciones matemáticas, etc. Con un ejemplo (captura de pantalla de pintura) esta pregunta sería mucho más clara. – CodingBarfield

Respuesta

3

Algunos google me llevan a esto CodeProject article: utiliza MimeTex, una biblioteca que genera gif de fórmulas de látex. Deberá usar PInvoke para tenerlo en C#, pero todo parece estar en el artículo.

0

Puede usar MEEL para WinForms. Es realmente fácil de usar.

0

Una posible solución para su aplicación, si es factible, sería alojar una página de servidor activo en línea que pudiera pasar el marcado LaTeX y hacer que devuelva una imagen. Las limitaciones obvias incluyen el ancho de banda, el acceso a la red y la velocidad.

El uso de los enlaces CodeProject y MineTex provistos por CharlesB sería un gran punto de partida, desde el cual se podría implementar una solución C#/ASP.

Luego, desde winforms, puede realizar la solicitud y obtener una imagen que se podría mostrar dentro de un control, o incluso representar con GDI +.

Cuestiones relacionadas