2016-07-25 4 views
11

나는 (내가 엑스 코드 (8)에게 베타 3을 사용하고 있습니다) 스위프트 3.0에서이 목표 - C 코드를 구현해야합니다 내가 CGImageCreateWithImageInRect()의 최신 문서에서 아무것도 찾을 수 없습니다Swift 3.0 : CGImageCreateWithImageInRect()를 호출하는 방법?

// Note: this code comes from an Obj-C category on UIImage 
CGImageRef imageRef = CGImageCreateWithImageInRect(self.CGImage, cropRect); 
UIImage *image = [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation]; 

.

답변

21

나는 Xcode8의 스위프트 편집기에서이 코드를 작성하는 경우 : 스위프트로 나에게 오류를 보여 주었다

let imageRef = CGImageCreateWithImageInRect(self.CGImage!, cropRect) 

:

: 그래서

error: 'CGImageCreateWithImageInRect' has been replaced by instance method 'CGImage.cropping(to:)' 

, 나는에 라인을 변경을

let imageRef = self.cgImage!.cropping(to: cropRect) 

코드의 두 번째 줄은 di 스위프트에 rectly 전환 :

let image = UIImage(cgImage: imageRef!, scale: self.scale, orientation: self.imageOrientation) 

그리고 CGImageCreateWithImageInRect의 최신 문서화

CGImageCreateWithImageInRect

스위프트 링크를 클릭, 그것은 보여줍니다

func cropping(to rect: CGRect) -> CGImage? 
1
var imageRef = self.image.cropping(to: cropRect)