IOS에서 이미지 압축

1315 단어
필요: 이미지를 서버에 압축하여 업로드

메소드 픽셀 압축:

  • UIImageJPEGRepresentation
  • NSData *imageData = UIImageJPEGRepresentation(image, compression);
    
  • UIImagePNGRepresentation
  •    NSData *imageData = UIImagePNGRepresentation(image);
    

    문제: 이전에 조사 연구를 하지 않고 직접 방법을 사용했다. 2. 사용자가 그림을 다운로드하는 것이 매우 느리고 때로는 다운로드할 수 없는 것을 발견했는데 나중에 그림이 너무 커서 발견했다.원래 UIImage PNGREpresentation(UIImage image)은 UIImage JPEGREpresentation(UIImage image, 1.0)보다 반환된 이미지 데이터량이 많은 프로젝트에서 사진을 올리기 전에 같은 사진을 테스트하여 얻은 사진 png의 크기는 8M이고 JPG의 압축 계수는 0.75일 때 크기는 1M에 불과했다.그리고 압축 계수를 낮추는 것은 이미지에 큰 영향을 미치지 않는다.
     , ( 200k)
    - (UIImage *)compressImage:(UIImage *)image toMaxFileSize:(NSInteger)maxFileSize {
        CGFloat compression = 0.9f;
        CGFloat maxCompression = 0.1f;
        NSData *imageData = UIImageJPEGRepresentation(image, compression);
        while (([imageData length]/1024 )> maxFileSize && compression > maxCompression) {
            compression -= 0.1;
            imageData = UIImageJPEGRepresentation(image, compression);
        }
        UIImage *compressedImage = [UIImage imageWithData:imageData];
        return compressedImage;
    }
    
    

    PNG 이미지는 무손실 압축이고 알파 채널을 지원하며 JPEG 이미지는 손실 압축으로 0-100%의 압축비를 지정할 수 있습니다.

    방법 2 사이즈 압축


    나중에 얘기하자..

    좋은 웹페이지 즐겨찾기