Преобразование данных изображения в массив символов - PullRequest
2 голосов
/ 25 января 2010

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

Когда у меня есть массив символов, определенный как:

const char backButtonData[] = { 0x00, 0x01, 0xFF, ... };

... Я могу получить к нему доступ вот так:

UIImage *backButtonImage = [UIImage imageWithData:[NSData dataWithBytesNoCopy:backButtonData length:sizeof(backButtonData) freeWhenDone:NO]];

... и настройте кнопки панели инструментов контроллера с этими изображениями значков.

Я искал повсюду, надеясь найти скрипт, который бы брал данные изображений и выплевывал массив символов, но пришел с пустыми руками, поэтому я попробовал себя, но с треском провалился.

Мне нужен [надеюсь] скрипт или функция для получения данных:

NSData * imageData = UIImagePNGRпредставление (изображение);

и выложить его в этот формат:

0x00, 0x01, 0xFF, ... так что я могу скопировать и вставить его в свой исходный файл.

Есть идеи [или ссылка на скрипт или инструмент, который это сделает]?;

Ответы [ 2 ]

4 голосов
/ 25 января 2010

Я думаю, вам действительно стоит изучить метод класса UIImage +(UIImage*)imageNamed:(NSString *)name, который загрузит файл изображения для вас.

Но если вы действительно хотите встроить файл изображения в свое приложение в виде массива char, взгляните на инструмент командной строки xxd и его параметр -i.

1 голос
/ 25 января 2010

Большое спасибо, автор, этот пост также спас меня от борьбы.

xxd -i

действительно отлично работает для создания массива двоичных данных.

...