几年前,我用 Visual Basic 制作了一个滚动瓷砖 2D 视频游戏。我正在将它翻译成 Mac 的 Cocoa。是否有允许我使用BitBlt的框架?或者在不使用 OpenGL 的情况下是否有与 BitBlt 等价的东西?谢谢!
2350 次
2 回答
3
正如马特提到的,你可能想要CGContextDrawImage
和CGContextSetBlendMode
.
首先,您需要CGImageRef
从图像数据中创建一个。您可以通过数据提供者执行此操作。如果您已经将图像加载到内存中,那么您应该使用CGDataProviderCreateDirect
. 该数据提供者将是CGImageCreate
.
接下来,在 Cocoa 视图的drawRect:
方法中,您需要像这样获取当前上下文:
CGContextRef cgContext = [[NSGraphicsContext currentContext] graphicsPort];
然后用于CGContextDrawImage
绘制图像。
正如马特提到的,你可以控制混合CGContextSetBlendMode
。
于 2009-10-27T17:12:27.410 回答
2
您可能应该从Core Graphics开始
于 2009-10-26T03:01:46.733 回答