수동 이미지 자르기 기능을 다루고 있습니다. 이번에는 topLeft, topRight, bottomRight 및 bottomLeft라는 4 개의 좌표가있는 CAShapeLayer를 그립니다. 사용자는 포인트를 이동하고 자르기 영역을 선택할 수 있습니다. 이 지점을 코어 이미지 좌표로 변환하고 CIPerspectiveTransform으로 더 잘게 자르려고합니다. 모양 층과 이미지 뷰와 마스크의 이미지 뷰에수동 자르기를 위해 CAShapeLayer 좌표를 CIRectangleFeature로 변환하는 방법
답변
설정 화상.
self.imageView = img
imageView.layer.mask = shapeLayer // set here your shape layer
이제 이미지 뷰에는 자르기 이미지가 있습니다. 현재 컨텍스트에서
가져 오기 이미지
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, false, 0);
imageView.layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// check cropping image
let resultImageView = UIImageView(frame: self.view.frame)
resultImageView.image = image
self.view.addSubview(resultImageView)
감사합니다. 정말 잘했습니다. 파일 : 다음은 스크린 샷 및 결과 영상이다 ///Users/Swapnil/Desktop/IMG_2082.PNG 파일 : ///Users/Swapnil/Desktop/IMG_2083.JPG 나는 당신에게서 약간의 도움이 필요합니다. –
@SwapnilDhapte 결과를 표시 할 수 없습니다. 어떻게 도와 드릴까요? –
렌더링 된 부분으로 만 이미지를 저장할 수있는 방법이 있습니까? 흰색 배경이 아닙니다. CIPerspectiveTransform을 적용하려고합니다. –
를 따를 때 난 당신이 shaplayer으로 농작물 이미지하려고 생각? –
안녕하세요, 답장을 보내 주셔서 감사합니다. 사용자의 시각화를 위해 모양 레이어를 사용하고 있습니다. 내가 의도 한 것은 사용자가 만든이 네 가지 포인트를 얻고 그에 따라 이미지를 잘라내는 것입니다. 이 점들. 이러한 UIKit 포인터를 CoreImage 포인트로 변환하는 동안 문제가 발생합니다. –
모양 레이어 초기화 제공 –