UIImage 사이즈(용량) 줄이기

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • rabbit
      참가자
      • 글작성 : 3
      • 답글작성 : 9

      Image Picker를 이용해서 사진을 찍거나 앨범에서 가져왔을 때 UIImage 객체의 사진용량을 줄이는 방법.

      즉, UIImage 사진 용량 줄이는 방법.

      func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage {
          let scale = newWidth / image.size.width // 새 이미지 확대/축소 비율
          let newHeight = image.size.height * scale
          UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight))
          image.drawInRect(CGRectMake(0, 0, newWidth, newHeight))
          let newImage = UIGraphicsGetImageFromCurrentImageContext()
          UIGraphicsEndImageContext()
          return newImage
      }

      UIImage를 resize해 크기를 줄이면 용량도 줄어듭니다.

      참고

    • 곰튀김
      참가자
      • 글작성 : 0
      • 답글작성 : 4

      이미지 리사이즈 해서 보면 퀄리티가 많이 떨어져서 보일 수 있는데요, 레티나를 고려해 줘야 합니다.
      (100,100) 으로 리사이즈 하고 싶을 때 @2x 에서는 실제로는 (200,200) 으로, @3x 에서는 실제로 (300,300)으로 만들어 줘야 화면에 보일 때 퀄리티가 너무 떨어지지 않게 보이게 할 수 있습니다.

      `swift
      let screenScale = UIScreen.main.scale
      let targetRect = CGRect(x: 0, y: 0, width: targetWidth, height: targetHeight).integral(screenScale)
      `

      • rabbit
        참가자
        • 글작성 : 3
        • 답글작성 : 9

        오 그건 생각 못해봤던 거네요. 감사합니다!

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom