일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 애니메이션
- Refactoring
- Clean Code
- collectionview
- 스위프트
- UICollectionView
- 리팩토링
- ios
- RxCocoa
- combine
- Xcode
- swiftUI
- Observable
- swift documentation
- rxswift
- uitableview
- Protocol
- 리펙토링
- UITextView
- map
- uiscrollview
- MVVM
- 리펙터링
- 클린 코드
- HIG
- tableView
- SWIFT
- clean architecture
- Human interface guide
- ribs
- Today
- Total
목록UIGraphicsGetImageFromCurrentImageContext (3)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjq6lF/btszLXoBzgR/OZKA6rkqmtHWMKYNQaBGuK/img.jpg)
1. 이미지 처리 - heic, heif 개념 2. 이미지 처리 - 회전 각도 메타 정보, 이미지 메타 다이터, imageOrientation (exif) 3. 이미지 처리 - 이미지 회전 메타 정보 제거 방법 (UIGraphics, CurrentImageContext) 안전한 이미지 처리 방법 (저번시간에 알아본 내용) * 아래 내용에 대한 구체적인 내용은 이전 포스팅 글 참고 EXIF 정보나 imageOrientation 정보가 다르고, 이미지를 이미지 서버에 업로드할 때 애초에 imageOrientation 정보를 제거하면 서로 혼돈이 없는 상태로 관리가 가능 아이폰 앨범에서 이미지 회전 메타 정보가 이미 적용된 결과를 보여주기 때문에, swift에서 사용할 때 메타 정보를 제거하고난 후 이미지 서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bXFRRY/btsvbFsMGOe/usB42KDmxAZkF5PyrqI7WK/img.png)
UIImage 이미지 리사이징 * 참고한 코드: https://stackoverflow.com/questions/31314412/how-to-resize-image-in-swift 이미지 리사이징를 하고 싶은 경우, UIImage에서 해상도를 낮추어 리사이징 하는 방법 extension UIImage { func resizeImage(targetSize: CGSize) -> UIImage { let size = self.size let widthRatio = targetSize.width / size.width let heightRatio = targetSize.height / size.height var newSize: CGSize if widthRatio > heightRatio { newSize =..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bYux5a/btrcNLXIun0/sOKgrKyyAiAssy8KU2tLW1/img.png)
CGAffineTransform 수학적인Affine("아핀") 변환의 의미: 점 사이의 상대적 거리 유지, 평행선을 보존하는 변환 translateBy(x:y:): Coordinate를 변경 scaleBy(x:y:): 확대 or 축소 rotate(by:): 회전 code enum AffineType { case translate case scale case rotate } func affineTransfrom(_ type: AffineType) { switch type { case .translate: rectButton.transform = .init(translationX: 50, y: 1.0) rectButton.setTitle("(translationX:50, y:1.0)", for: .norm..