jpg изображения в iphone и изображения 2x

Я работаю над приложением для iphone и ориентируюсь на iOS 4.0 или новее. Я пытаюсь добавить изображение в UIImageView, и оно находится в формате jpeg . Это то, что я сделал до сих пор ..

UIImageView *bgImageView            =   [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 246.0)];
bgImageView.image                   =   [UIImage imageNamed:@"background"];
[self.view addSubview:bgImageView];
[bgImageView release];

Я добавил два изображения,

  1. background.jpg (как обычно 1x (скрыто) (для 2x / retina display).

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

Затем я создал два png-изображения для фона, добавил их в проект и запустил. На этот раз был показан мой фон. Я был озадачен, потому что согласно документации изображение jpg можно использовать на iphone с UIImage.

Я попробовал еще раз с изображениями jpg и изменил приведенный выше код на этот

UIImageView *bgImageView            =   [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 246.0)];
bgImageView.image                   =   [UIImage imageNamed:@"background.jpg"]; //added extension
[self.view addSubview:bgImageView];
[bgImageView release];

Когда я запустил приведенный выше код, фоновое изображение отображается, но 2x изображения не загружаются. Это показывает, что мое изображение в формате jpg в порядке, и оно не является виновником. Поэтому, когда я просто даю имя изображения без расширения, файлы png (как 1x, так и 2x) загружаются на соответствующие устройства, файлы jpg не загружаются вообще. Похоже на ошибку (в sdk или документации). iOS 4 здесь для хорошего года. почему этого никто не заметил? Также есть ли у меня какой-либо другой вариант, кроме как конвертировать все мои изображения в png?

РЕДАКТИРОВАТЬ:

Ну, два дня на вопрос, ноль ответов. Я уже преобразовал все свои изображения в png, и эта часть моего проекта завершена (так как мой проект не мог дождаться ..). Тем не менее, ради себя и всех, кто столкнется с этим в будущем, я хотел бы больше узнать об этой проблеме. По крайней мере, кто-то может подтвердить, что это действительно ошибка яблока.Я начинаю раздачу, чтобы больше людей могли увидеть эту ветку.

ИЗМЕНИТЬ СНОВА

Осталось 2 дня до окончания этой награды. Спасибо всем, кто откликнулся. Но позвольте мне прояснить одну вещь. Я уже сказал, что преобразовал все свои изображения в png, и я пошел дальше. Я просто хотел получить подтверждение того, что imageNamed обрабатывает файлы jpg и png одинаково. Документация определенно говорит, что будет (если Apple не написала это где-нибудь, кроме документации UIImage ). Если документация верна, то мой код подвел меня по двум возможным причинам

  1. Это ошибка в imageNamed . Если это причина, то у меня нет слишком большого выбора, кроме как отправить отчет об ошибке, изменить мои изображения на png или написать оболочку (как сказал Чандан в своем ответе) и двигаться дальше ..
  2. Есть некоторая проблема с изображением jpeg, которое я использовал . Я не любитель фотошопа. Но я использовал Изображение RGBA jpg. Если изображение имеет значение, я готов спросить своего дизайнера друг и предоставьте дополнительную информацию.

Еще одна вещь. Этот пост также просто рассказывает об этой проблеме. Но он не знает причины. Так что я не одинок.

РЕДАКТИРОВАТЬ: КОНЕЦ

Ну, это что-то связанное с самим изображением. Я погуглил, загрузил несколько образцов изображений в формате jpeg и поиграл с ними. Некоторые из них отображаются правильно, а некоторые нет. Поскольку предельное время истекло, я даю согласие на это PengOne, который попытался воспроизвести ошибку и успешно загрузил изображение jpg без расширения, заставив меня работать с большим количеством изображений. Спасибо всем, кто пытался помочь.

22
задан Krishnabhadra 3 January 2013 в 04:12
поделиться