Notice
Recent Posts
Recent Comments
Link
투케이2K
526. (ios/swift5) [유틸 파일] resizeImage : UIImage Resize 이미지 리사이징 수행 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [이미지 리사이징 수행]
// -----------------------------------------------------------------------------------------
func resizeImage(image : UIImage, width: CGFloat, height: CGFloat, completion: @escaping (UIImage?)->()) {
/*
// -----------------------------------------
[resizeImage 메소드 설명]
// -----------------------------------------
1. 이미지 리사이징 수행
// -----------------------------------------
2. 호출 방법 :
let image = UIImage(named: "loading_bg")
C_App().resizeImage(image: image!, width: 100, height: 100) {(result) in
}
// -----------------------------------------
3. 리턴 예시 :
UIImage 이미지
// -----------------------------------------
*/
// [변수 선언]
var returnData: UIImage? = nil
var M_Log = ""
// [로직 처리 실시]
DispatchQueue.main.async {
if image != nil && width > 0 && height > 0 {
let size = CGSize(width: width, height: height)
let render = UIGraphicsImageRenderer(size: size)
let renderImage = render.image { context in
image.draw(in: CGRect(origin: .zero, size: size))
}
if renderImage != nil && renderImage.size.width > 0 && renderImage.size.height > 0 {
// [리턴 변수에 삽입]
returnData = renderImage
M_Log = "[Success] :: 이미지 리사이징"
S_Log._D_(description: "이미지 리사이징 수행", data: [
"INPUT [WIDTH] :: \(String(describing: width))",
"INPUT [HEIGHT] :: \(String(describing: height))",
"ORIGIN_IMAGE :: \(image)",
"RESIZE_IMAGE :: \(String(describing: returnData))",
"M_LOG :: \(M_Log)"
])
// [리턴 반환]
completion(returnData)
}
else {
M_Log = "[Error] :: renderImage Is Null"
S_Log._D_(description: "이미지 리사이징 수행 에러", data: [ "\(M_Log)" ])
// [리턴 반환]
completion(returnData)
}
}
else {
M_Log = "[Error] :: Input Data Is Null"
S_Log._D_(description: "이미지 리사이징 수행 에러", data: [ "\(M_Log)" ])
// [리턴 반환]
completion(returnData)
}
}
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
Comments