사용자가 camera roll
에서 이미지를 선택할 수있는 요구 사항이 있습니다. 내 애플리케이션에서 이미지를 최적화하고 섬기는 사람. 나는 camera roll
에서 사진을 선택하는 사용자를 위해 ALAssets
라이브러리 및 사용자 지정 선택 도구를 사용하고 있습니다. 이 작업을 완벽하게 수행 할 수는 있지만 파일 크기가 커지면 문제가 발생합니다. 다음과 같이UIImageJPEGRepresentaion()을 사용하여 UIImage를 NSData로 변환하고 파일에 저장하면 파일 크기가 바이트 단위로 증가합니다.
문제는 : 사용자가 1.7MB의 사진을, (내가 사진을 우편으로 할 때 즉, iOS
에 의해보고 된 전체 크기), 선택
내가 직접로부터 바이트를 얻을 때 ALAssetRepresentation
그 중 ALAsset
그리고 NSData
으로 변환하면 데이터 크기도 1.7MB입니다. 하지만, 다음과 같은 코드를 사용하여 ALAssetRepresentation
에서있는 UIImage .. 오면
있는 UIImage * selImage = [있는 UIImage imageWithCGImage [assetRepresentation fullResolutionImage] 스케일 [assetRepresentation 스케일] 방향 [assetRepresentation 방향];
을 UIImageJPEGRepresentation()
으로 압축 품질 = 1.0f로 변환하면 NSData 크기는 원래 크기 (3.2MB)의 거의 두 배가됩니다.
이상적으로 1.7MB가되어야하지 않습니까 ?? ??
예상대로 파일에 저장할 때 파일 크기는 3.2MB입니다 (xcode 4.2에서는 샌드 박스 앱의 문서 폴더를 가져 와서 확인했습니다). 내 맥에 Preview
으로 파일을 열고 바이트 크기를 확인하지만 흥미로운 것은, 그것은 ...
이 도와주세요 .. 꽤 혼란이다 1.7MB (3.2 MB이었다)라고
미리 감사드립니다.
마지막으로이 문제를 해결 했습니까? –
나는 단지 0.95의 압축 품질로 UIImageJPEGRepresentation()을 사용했다. 이미지 크기가 줄어들어 품질이 떨어지지 않습니다. – Ravi
안녕하세요 @ 라비, 당신은 마침내 이것을 해결할 방법을 찾았습니까? –