从iPhone上的图像获取像素数据

从iPhone上的图像获取像素数据,iphone,cocoa-touch,core-graphics,Iphone,Cocoa Touch,Core Graphics,我想使用位图图像作为iphone游戏中关卡的“地图”。基本上,这都是关于障碍物在矩形世界中的位置。这些障碍物是彩色编码的——白色像素所在的地方没有障碍物。黑色表示此时有一个 现在我需要使用这些数据做两件事:(a)显示关卡地图,(b)进行游戏内计算。因此,一般来说,我需要一种从位图中读取数据的方法,并使用这些信息创建一些数据结构(类似于矩阵)——既可以将位图覆盖到级别图形上,也可以计算碰撞等 我该怎么做?有什么简单的方法可以从图像中读取数据吗?那么,保存这些图片的最佳格式是什么 您看过Textur

我想使用位图图像作为iphone游戏中关卡的“地图”。基本上,这都是关于障碍物在矩形世界中的位置。这些障碍物是彩色编码的——白色像素所在的地方没有障碍物。黑色表示此时有一个

现在我需要使用这些数据做两件事:(a)显示关卡地图,(b)进行游戏内计算。因此,一般来说,我需要一种从位图中读取数据的方法,并使用这些信息创建一些数据结构(类似于矩阵)——既可以将位图覆盖到级别图形上,也可以计算碰撞等


我该怎么做?有什么简单的方法可以从图像中读取数据吗?那么,保存这些图片的最佳格式是什么

您看过Texture2D如何将图像文件转换为OpenGL纹理吗

提示:在
Texture2D.m
中查看此方法:

- (id) initWithCGImage:(CGImageRef)image orientation:(UIImageOrientation)orientation sizeToFit:(BOOL)sizeToFit pixelFormat:(Texture2DPixelFormat)pixelFormat filter:(GLenum) filter
在3D应用程序中,高度贴图使用这种表示非常常见,在高度贴图中,您使用的纹理颜色范围为黑色到白色(白色表示最大高度)

例如,从以下方面:

为此:

这只是告诉你,你的表现并没有那么疯狂:)

关于阅读位图,我还建议您阅读(以防您想深入阅读)


希望我能帮点忙

您看过Texture2D如何将图像文件转换为OpenGL纹理吗

提示:在
Texture2D.m
中查看此方法:

- (id) initWithCGImage:(CGImageRef)image orientation:(UIImageOrientation)orientation sizeToFit:(BOOL)sizeToFit pixelFormat:(Texture2DPixelFormat)pixelFormat filter:(GLenum) filter
在3D应用程序中,高度贴图使用这种表示非常常见,在高度贴图中,您使用的纹理颜色范围为黑色到白色(白色表示最大高度)

例如,从以下方面:

为此:

这只是告诉你,你的表现并没有那么疯狂:)

关于阅读位图,我还建议您阅读(以防您想深入阅读)


希望我能帮点忙

我可以说这听起来是一个非常糟糕的设计决定吗。像“平铺”这样的开源地图编辑器有什么问题?嗯,我需要一些非常简单的东西。它实际上是1位数据,要么是“自由空间”,要么是“障碍物”,就是这样。@Aurum Aquila:像tiled这样的开源地图编辑器没有问题,但在我的例子中,我希望获得更高的精度,现在我可以获得一个非常详细和碎片化的岛屿的像素精度(我正在加载一个真实的地图)现在我只需要加载一个pdf矢量图(这样我就可以把它放大到几乎无穷大),我可以说这听起来是一个非常糟糕的设计决策吗。像“平铺”这样的开源地图编辑器有什么问题?嗯,我需要一些非常简单的东西。它实际上是1位数据,要么是“自由空间”,要么是“障碍物”,就是这样。@Aurum Aquila:像tiled这样的开源地图编辑器没有问题,但在我的例子中,我希望获得更高的精度,现在我可以获得一个非常详细和碎片化的岛屿的像素精度(我正在加载一个真实的地图)现在我所需要的就是加载一个pdf矢量地图(这样我就可以将它放大到几乎无穷大)