투케이2K

306. (ios/swift) emoji string 이모지 문자열 데이터를 UIImage 이미지로 변경 수행 실시 본문

IOS

306. (ios/swift) emoji string 이모지 문자열 데이터를 UIImage 이미지로 변경 수행 실시

투케이2K 2022. 11. 20. 19:35

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [테스트 메인 함수 정의 실시]
    func testMain() {
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> testMain() :: 테스트 함수 시작 실시]")
        print("====================================")
        print("")
        
        
        // [로직 처리 수행]
        DispatchQueue.main.async {
            
            // [emoji String 변수 선언 실시]
            let emojiString = "🐶"
            
            
            // [emoji String >> UIImage 변환 실시]
            var uiImage : UIImage {
                
                // [emoji String 설정]
                let nsString = (emojiString as NSString)
                
                
                // [고해상도 이미지로 출력 위해 폰트 사이즈 변경]
                let font = UIFont.systemFont(ofSize: 1024)
                let stringAttributes = [NSAttributedString.Key.font: font]
                let imageSize = nsString.size(withAttributes: stringAttributes)

                
                // [이미지 생성 실시]
                UIGraphicsBeginImageContextWithOptions(imageSize, false, 0) // begin image context
                UIColor.clear.set() // clear background
                
                UIRectFill(CGRect(origin: CGPoint(), size: imageSize)) // set rect size
                nsString.draw(at: CGPoint.zero, withAttributes: stringAttributes) // draw text within rect
                
                let image = UIGraphicsGetImageFromCurrentImageContext() // create image from context
                UIGraphicsEndImageContext() // end image context

                return image ?? UIImage() // return UIImage
            }
            
            
            // [이미지 설정 실시]
            self.imageView.image = uiImage
        }

    }
 

[결과 출력]


반응형
Comments