Изменить размер NSData для установки в UIImage - PullRequest
1 голос
/ 10 августа 2010

У меня есть эти коды:

UIImage * img = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:IMAGEURL]]];
[self.imageView setImage:img];

Но IMAGEURL содержит изображение высокого разрешения, поэтому загрузка занимает много времени. Можно ли изменить размер данных изображения, чтобы они загружались быстрее?

Любая помощь будет оценена.

Спасибо.

1 Ответ

2 голосов
/ 10 августа 2010

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

Если вы не смелый, а изображение в формате JPEG: у libjpeg есть функция, позволяющая считывать изображения с пониженной дискретизацией с коэффициентом 2, 4 или 8. Например. для масштаба 1/8 он считывает блоки DCT и принимает только постоянную составляющую. Но это будет немного сложнее. Время чтения будет значительно сокращено.

См. Также iphone-чтение-области-изображения об этом.

...