iphone - 해상도 - UI이미지를 메가바이트의 특정 크기로 압축



해상도 계산 방법 (1)

stacj overflow 링크에 대한 또 다른 질문이 있습니다 - 크기에 따른 이미지 압축 - iPhone SDK

하지만 거기에서 두 개의 대답을 결합 않습니다, 나는 또한이 코드를 사용하여 압축을 수행합니다.

CGFloat compression = 0.9f;
CGFloat maxCompression = 0.1f;
int maxFileSize = 250*1024;

NSData *imageData = UIImageJPEGRepresentation(yourImage, compression);

while ([imageData length] > maxFileSize && compression > maxCompression)
{
    compression -= 0.1;
    imageData = UIImageJPEGRepresentation(yourImage, compression);
}

이를 수행하는 한 가지 방법은 원하는 크기를 찾을 때까지 루프에서 파일을 다시 압축하는 것입니다. 먼저 높이와 너비를 찾고 압축을 추측 한 다음 (압축률을 높이면 이미지가 더 커짐) 압축 한 다음 크기를 확인하고 다시 차이를 나눌 수 있습니다.

나는 이것이 매우 효율적이지는 않다는 것을 알고 있지만, 특정 크기의 이미지를 얻기위한 한 번의 호출이 있다고 생각하지 않습니다.

https://code.i-harness.com

이 질문에는 이미 답변이 있습니다.

obj-с 어떻게 사용자 정의 NSMutableArray 저장된 특정 UIImage 의 크기를 얻을 수 있습니까? 그것이 내가하고 싶은 첫 번째 일이다. 두 번째는 파일 크기가 이미지 크기가 파일 크기 한도 (예 : 15MB)보다 커지면 파일 크기 제한 (예 : 5MB)보다 이미지 압축률이 가장 높습니다 (예 : 4.99). MB?





inversion-of-control