2015-08-31 2 views
0

Вот images.jpg, который находится всего 3198 байт, после вызова UIImageJPEGRepresentation как это:Почему данные изображения изменилось по телефону UIImageJPEGRepresentation в прошивкой

enter image description here

Это размер данных 15,422 байт.

Почему? Я хочу знать, использует ли форма кодирования imageData? UTF-8 или UTF-16 или другие? И, может быть, исходные данные используют unicode? Я не уверен, помоги мне, спасибо !!!

Обновление:

Благодаря @Fonix!

А как насчет PNG? Есть только один параметр в UIImagePNGRepresentation, и я обнаружил, что png, который равен 2.9M, будет сжиматься до 62K после вызова метода png. Итак, если я хочу получить данные SAME, что мне делать?

ответ

1

Используйте значение меньше 1 в UIImageJPEGRepresentation, потому что это определяет качество сжатия, поэтому вы, вероятно, используете сжатый jpg и в основном делаете его несжатым. some documention

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

NSURL *imgPath = [[NSBundle mainBundle] URLForResource:@"imageName" withExtension:@"png"]; 
NSString*stringPath = [imgPath absoluteString]; 

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:stringPath]]; 
+0

максимального значения качества сжатия 1. –

+0

наоборот: «Качество получаемого изображения JPEG, выраженное в виде значения от 0,0 до 1,0 . Значение 0.0 представляет максимальное сжатие (или низкое качество), в то время как значение 1.0 представляет наименьшее сжатие (или лучшее качество) ». – Fonix

+0

Спасибо, ты прав! Но как насчет «PNG»? В 'UIImagePNGReпредставление' есть только один параметр, и я нашел png, который равен 2.9M, будет сжиматься до 62K. Итак, если я хочу получить «ТОЛЬКО» данные, что мне делать? – KaKa