Получение данных пикселей из изображения на iPhone - PullRequest
1 голос
/ 01 марта 2011

Я хочу использовать растровые изображения в качестве «карты» для уровней в игре для iPhone. В основном это все о расположении препятствий в прямоугольном мире. Препятствия будут иметь цветовую кодировку - там, где находится белый пиксель, препятствий нет. Черный означает, что есть один в этой точке.

Теперь мне нужно использовать эти данные, чтобы сделать 2 вещи: (а) отобразить карту уровней, (б) для внутриигровых расчетов. Итак, в общем, мне нужен способ считывания данных из растрового изображения и создания некоторой структуры данных (подобной матрице) с этой информацией - для наложения растрового изображения на графику уровня, а также для вычисления коллизий и тому подобного.

Как мне это сделать? Есть ли простой способ прочитать данные с картинки? И в каком формате лучше хранить изображения для этого?

1 Ответ

1 голос
/ 11 июля 2011

Вы смотрели, как Texture2D переводит файл изображения в текстуру OpenGL?

Совет : посмотрите на этот метод в Texture2D.m:

- (id) initWithCGImage:(CGImageRef)image orientation:(UIImageOrientation)orientation sizeToFit:(BOOL)sizeToFit pixelFormat:(Texture2DPixelFormat)pixelFormat filter:(GLenum) filter

В 3D-приложениях довольно распространено использование этого вида представления для карт высот, в карте высот вы используете текстуру с цветами в диапазоне от черного до белого (белый представляет максимальную высоту)

ДляНапример, из этого:

Height Map Texture

К этому:

Height Map Representation

Это было просто сказать вам, что ваше представление не таковоcrazy:).

Что касается чтения растрового изображения, я бы также порекомендовал вам прочитать this (на всякий случай, если вы хотите углубиться)

Надеюсь, я немного помог!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...