2014-11-17 5 views
0

Я озадачен здесь.IOS 7 - Невозможно прочитать/загрузить изображение

UIImage *image = [UIImage imageNamed:@"search.png"]; 
    NSData *data = UIImagePNGRepresentation(image); 
    NSLog(@"%d", [data length]); 

что прочитал: 859 байт

фактический файл: 244KB

Поэтому я стараюсь, чтобы увидеть, что DID загружался:

NSString *byteArray = [data base64Encoding]; 

И расшифровать этот B64 в двоичном, проверьте его в средстве просмотра изображений, его 1/4 изображения. Также странно, что несколько строк позже другой .png импортируется таким же образом и что .png отлично работает.

Ресурсы:

Изображение Я пытаюсь нагрузки: http://i.imgur.com/a4nzbUo.png

Результат импорта: http://i.imgur.com/Ytwb1w4.png

Образ, который делает работу: http://i.imgur.com/gJ4R8UX.png

Что же я отсутствует?

+1

Нет абсолютно никакой причины, по которой 'search.png' должен быть таким большим (о чем свидетельствует' UIImagePNGRepresentation' return <1kb; вы знаете, что функция не должна возвращать исходные байты источника, правильно?). – mattt

+0

Нет, не знал. – FSA21

ответ

1

Несколько сотен байт в PNG-файл, он начинает внедрять 200kb данных RDF без видимых причин (используя Photoshop «Сохранить ...», а не «Сохранить для Интернета ...», возможно?):

<?xpacket begin="Ôªø" id="W5M0MpCehiHzreSzNTczkc9d"?> 
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c021 79.155772, 2014/01/13-19:44:00  "> 
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 
... 

Я понятия не имею, связано ли это с описанным поведением, но это, безусловно, смущает. Предполагая, что это для интерфейса в приложении iOS, я бы начал просто перекодировать изображение, чтобы удалить все это.

+0

Глядя на «spunk_logo.png» (изображение, которое работает) - оно показывает ту же информацию об xpacket ('strings spunk_logo.png | grep x'). Это не должно быть проблемой. Однако я попытался «Сохранить как веб-сайт», но это привело к тем же данным xpacket. Я попробовал что-то еще. Вот мой взгляд в Photoshop: [LINK] (http://imgur.com/nCoTw8v). И вот результат в симуляторе iphone: [LINK] (http://imgur.com/xhgNwbW). Итак, что происходит: все в моем .png преобразуется в белый. Вот почему логотип работал (из-за контуров), но изображение не работает. Любая подсказка, почему мой .png становится полностью белым? – FSA21

+0

После публикации этой темы изображение, полностью белая, заставило меня сделать вывод, что оно не загрузилось. Но он загружается, только он отображается как совершенно белый. Это UIButton в навигационной панели. – FSA21

+0

А, UIButtons в навигационных панелях всегда тонированы. Решение, которое мне пришлось использовать, было «[кнопка setBackgroundImage: ...]». Я отвечу на ваш ответ в качестве ответа, потому что это помогло мне узнать, что происходит на самом деле. Спасибо. – FSA21

Смежные вопросы