使用Quartz 2d绘制公式

时间:2010-05-25 17:42:50

标签: iphone cocoa-touch latex formula quartz-2d

在我的iPhone应用程序中,我想绘制一些公式。我怎样才能用石英2d来管理它?有没有办法建立像乳胶中的公式?还是有任何现有的框架?感谢。

2 个答案:

答案 0 :(得分:10)

作为an iPhone application which does just that的开发者,当我说排版方程不是一项微不足道的工作时,请相信我。在我的例子中,我使用Core Animation层来构造解析方程的子元素。这些方程是分层构造的,构成它们的操作也是这样构成的。每个操作都包含在其父操作的层中,并按照该特定操作的规则进行布局。

为了在等式中渲染操作的视觉元素,我使用Quartz绘制线条,符号等,但大部分绘图只是使用NSString文本绘图扩展在CALayer中绘制的文本。

我确实覆盖了从这些方程生成PDF的标准CALayer渲染架构,因为CALayers默认情况下不会渲染为矢量元素。有关此呈现如何在我的应用程序中工作的示例,请参阅开源Core Plot项目,该项目在其基础级别执行相同的操作。

我从方程中输出到LaTeX,一旦你将它们解析成分层数据结构就非常简单,但是将它们从LaTeX解析到那个结构中证明有点棘手。

对于简单的文本方程输入和评估,您可能会发现Graham Cox的GCMathParser是有用的。

答案 1 :(得分:2)

我听说没有为Cocoa touch实现真正的Tex引擎,但是有一个轻量级的Javascript公式布局引擎:jsMath