[Core Image]Tip: CIFilter 편하게 불러오기
·
iOS/Image
CIFilter는 종류가 굉장히 많다SepiaTone, PhotoEffectTransfer, PhotoEffectTonal.... 이 많은 것들을 보통은 다음과 같이 불러온다let photoEffectTransfer = CIFilter(name: "CIPhotoEffectTransfer")근데 이렇게 불러오면 타입이 CIFilter의 옵셔널 타입이라 사용할 때마다 언래핑을 해줘야 한다.그래서 난 다음과 같이 사용했다enum Filter { case photoEffectTransfer case photoEffectTonal case randomGenerator case multiplyBlendMode case vignette case sepiaTone var c..
[Core Image] CIFilter 체이닝 가독성 개선하기
·
iOS/Image
https://rongios.tistory.com/14 [Core Image] CIImage, CIContext, CIFilterhttps://rongios.tistory.com/1 Swift의 다양한 이미지 - UIImage, CGImage, CIImageCIImage..? CGImage...?iOS 개발을 하면서 이미지를 다루다 보면 다양한 이미지 타입들을 보게 된다. UIImage, CGImage, CIImage 그리고 SwiftUIrongios.tistory.com앞선 포스팅에서 우린 CIImage에 CIFilter를 체이닝 방식으로 적용하는 걸 배웠다코드는 다음과 같다func applyFilters(to image: CIImage) -> CIImage? { // 1️⃣ 세피아 필터 적용 ..
[Core Image] CIImage, CIContext, CIFilter
·
iOS/Image
https://rongios.tistory.com/1 Swift의 다양한 이미지 - UIImage, CGImage, CIImageCIImage..? CGImage...?iOS 개발을 하면서 이미지를 다루다 보면 다양한 이미지 타입들을 보게 된다. UIImage, CGImage, CIImage 그리고 SwiftUI의 Image까지..!(여기서는 SwiftUI의 Image까지 다루진 않는다!!) 이 많rongios.tistory.com예전에 한 번 Swift에서 사용하는 다양한 이미지 타입들에 대해 다뤄본 적이 있다. 그 때 가장 생소했던 이미지 타입은 CIImage였다아무래도 CIImage는 UIImage, CGImage와 다르게 이미지 데이터 자체를 저장하는 타입은 아니기 때문에 그런 것이 아닐까? 그래..
[Core Graphics]CGAffineTransform 2편 - 기울기와 회전
·
iOS/Image
https://developer.apple.com/documentation/coregraphics/cgaffinetransform?language=objc CGAffineTransform | Apple Developer DocumentationAn affine transformation matrix for use in drawing 2D graphics.developer.apple.comhttps://rongios.tistory.com/12 [Core Graphics]CGAffineTransform 1편 - Scale, AnchorPointhttps://developer.apple.com/documentation/coregraphics/cgaffinetransform?language=objc CGAffi..
[Core Graphics]CGAffineTransform 1편 - Scale, AnchorPoint
·
iOS/Image
https://developer.apple.com/documentation/coregraphics/cgaffinetransform?language=objc CGAffineTransform | Apple Developer DocumentationAn affine transformation matrix for use in drawing 2D graphics.developer.apple.com UIView의 회전, 좌우반전개발을 하다보면 UIView를 이리 저리 회전시킬 때도 있고 어떨 땐 좌우 반전을 줘야하는 경우가 있다.그 때 사용하는 기능이 CGAffineTransform이다.  좌우 반전하는 코드 예시를 보자import UIKitclass SampleViewController: UIViewControl..
[Swift]픽셀 데이터 다루기 3편 - 다운샘플링, 이미지 자르기
·
iOS/Image
1편: https://rongios.tistory.com/9 [Swift]픽셀데이터 다루기 1편 - RGBA란?RGBA?RGBA란 무엇일까? RGB는 우리가 흔히 아는 색상 표현 방식 중 하나이다.RGB는 3개의 숫자로 이루어져 있고 각 숫자는 0에서부터 255까지의 숫자이다.그리고 각 숫자는 순서대로 빨강, 초록, 파랑rongios.tistory.com2편: https://rongios.tistory.com/10 [Swift]픽셀 데이터 다루기 2편 - Grayscale1편: RGBA란? 1편에서는 UIImage로부터 픽셀 데이터를 추출하고 색상을 반전시키는 작업을 했다. 오늘은 아주 짧게 Grayscale을 적용하는 코드를 작성해볼까 한다.시작하기 전 오늘도 나를 도와줄 이rongios.tistory..
[Swift]픽셀 데이터 다루기 2편 - Grayscale
·
iOS/Image
https://rongios.tistory.com/9 [Swift]픽셀데이터 다루기 1편 - RGBA란?RGBA?RGBA란 무엇일까? RGB는 우리가 흔히 아는 색상 표현 방식 중 하나이다.RGB는 3개의 숫자로 이루어져 있고 각 숫자는 0에서부터 255까지의 숫자이다.그리고 각 숫자는 순서대로 빨강, 초록, 파랑rongios.tistory.com주의) 여기서 다루는 내용은 실전에서 사용하는 방식을 사용하지 않음 1편에서는 UIImage로부터 픽셀 데이터를 추출하고 색상을 반전시키는 작업을 했다. 오늘은 아주 짧게 Grayscale을 적용하는 코드를 작성해볼까 한다.시작하기 전 오늘도 나를 도와줄 이상해씨를 소개하고 시작하겠다. 먼저 그레이스케일을 어떻게 적용할까 고민을 해봤다.  내가 생각한 아이디어는..
[Swift]픽셀데이터 다루기 1편 - RGBA란?
·
iOS/Image
RGBA?RGBA란 무엇일까? RGB는 우리가 흔히 아는 색상 표현 방식 중 하나이다.RGB는 3개의 숫자로 이루어져 있고 각 숫자는 0에서부터 255까지의 숫자이다.그리고 각 숫자는 순서대로 빨강, 초록, 파랑을 의미하고 숫자가 클수록 색이 짙어진다.알기 쉽게 예를 들어보면 (255, 0, 0)라는 색상은 아래와 같이 아주 빨갛다이렇게 세가지 색상의 혼합으로 우리는 모든 색상을 나타낼 수 있다. 그렇다면 RGBA는 무엇일까?우리가 알던 RGB에 Alpha 값이 더해진게 RGBA다. Alpha 값은 해당 이미지의 투명도를 결정하는 역할을 한다. 그럼 실제 이미지에서 RGBA 픽셀 데이터를 추출해보면 어떤 형태일까?? 한 번 실험해보자Swift로 RGBA 픽셀 데이터 추출하기오늘의 실험을 도와줄 친구는 이..