Мы знаем, что изображение может быть сжато с помощью метода UIImageJPEGRepresentation()
, как в следующих кодах.NSData длина изображения, сжатого с UIImageJPEGRepresentation()
NSData *imgData = UIImageJPEGRepresentation(imageResized, 0.5);
NSLog(@"imgData.length :%d",imgData.length);
imageResized = [UIImage imageWithData:imgData];
NSData *imgData2 = UIImageJPEGRepresentation(imageResized, 1);
NSLog(@"imgData2.length :%d",imgData2.length);
Бревно:
2013-02-25 00:33:14.756 MyApp[1119:440b] imgData.length :371155
2013-02-25 00:33:20.988 MyApp[1119:440b] imgData2.length :1308415
Что Im запутаться в том, что почему length
из imgData
и imgData2
различны. В моем приложении изображение должно быть загружено на сервер. Должен ли я загружать NSData
на сервер для сохранения хранилища? Возможно ли, чтобы телефон Android загрузил NSData
и конвертировал его в изображение? Любая помощь будет оценена!
Почему вы ожидаете, что они будут иметь одинаковый размер? Знаете ли вы, что означает компрессия? – 2013-02-24 17:15:19
@ H2CO3 PLZ взглянуть на принятый ответ, и вы увидите, почему я запутался :) Да, я знаю, что такое компрессия :) –