是否有针对Mac OS X的不推荐使用的光栅图形框架?

时间:2009-07-26 15:03:12

标签: c objective-c macos core-graphics quickdraw

我正在寻找适用于Mac OS X的光栅图形框架。具体来说,我想要一些我可以操作(至少在概念上)像素矩阵的视图。我的程序将以编程方式生成像素数据。

QuickDraw非常适合该描述,但已被弃用。据我所知,核心图形中没有任何等价物。我错过了什么吗?

普通的C框架比Objective-C框架更可取,但我不是太挑剔。

4 个答案:

答案 0 :(得分:4)

QD已弃用,因为无法使用当前生成的完全合成的UI和GPU硬件有效地实施QD。因此,系统上没有任何类似QD的东西,也没有。允许直接访问后备存储的力量最多会强制进出GPU的总线事务,最坏的情况是可能会阻止纹理加载到卡本身,有些情况下可能导致软件回退。

很明显,有时人们需要像素级别访问后备存储,所以有一些机制可以做到这一点,但没有真正的便利方法,如果你能找到一些方法来避免它,你应该。如果无法避免,可以使用CoreGraphics使用CGBitmapContextCreate创建位图上下文,您可以访问后备存储,并可以直接操作后备存储。使用它并不简单,而且速度很慢。

答案 1 :(得分:3)

如何将视图的宽度和高度分开,然后绘制宽度x高度方块?您可以使用NSPoint并将其增加1,直到它达到宽度x高度。

答案 2 :(得分:2)

Simple Directmedia Layer具有像素访问权限。它可能是过度杀戮,因为它是一个移植库,但整个API都在简单的C.我不知道它作为底层MacOS API使用的是什么。最好查看网站,看看它是否适合您的目的。

或者,您可以使用OpenGL纹理。

答案 3 :(得分:0)

执行此操作的最佳方法是Core Image。它专为处理像素而设计,速度非常快,因为它可以让你在显卡上完成工作。