OS X ScreenSaver高效的每像素操作

时间:2012-01-09 16:27:21

标签: macos bitmap screensaver

我想创建一个OS X屏幕保护程序来计算每个像素的颜色数据。

现在我正在使用

NSBitmapImageRep *canvas;

但是为每个点调用setPixel并且每个drawInRect调用animateOneFrame只会使它无用。这太慢了。我正在寻找更好的解决方案。

我想做SDL_Surface可以做的事情,就是用双缓冲修改原始屏幕数据。

1 个答案:

答案 0 :(得分:1)

您可以直接访问NSBitmapImageRep中的原始内存(通过它的bitmapData属性)。这比使用setPixel方法更快,但您必须确切知道像素数据如何存储在内存中。