2017-01-29 5 views
2

사용자 정의 카메라를 빌드 할 때 지침이 필요합니다. 이전 프로젝트의 사진을 정사각형으로 자르지 만 이제 사용자 지정 자르기 모양을 만들어야합니다. 경로 또는 가면으로이 작업을 수행해야합니까?사용자 정의 모양의 자르기 사진

자른 이미지를 다른 이미지에 추가하고 두 이미지가 결합 된 하나의 png 이미지를 생성해야합니다. 내가 뭘 찾고 있는지에 대한 아이디어를 사진을 참조하십시오.

Custom crop shape

현재 베 지어 패스를 구축하고 있지만, 이미지를 자르도록 경로 모양을 사용하는 방법을 잘하지 않았 :

func createBezierPath() -> UIBezierPath { 

    let path = UIBezierPath() 
    path.move(to: CGPoint(x: 2, y: 26)) 

    path.addCurve(to: CGPoint(x: 0, y: 12), // ending point 
     controlPoint1: CGPoint(x: 2, y: 14), 
     controlPoint2: CGPoint(x: 0, y: 14)) 

    path.addLine(to: CGPoint(x: 0, y: 2)) 
    path.addArc(withCenter: CGPoint(x: 2, y: 2), // center point of circle 
     radius: 2, 
     startAngle: CGFloat(M_PI), // π radians = 180 degrees = straight left 
     endAngle: CGFloat(3*M_PI_2), // 3π/2 radians = 270 degrees = straight up 
     clockwise: true) // startAngle to endAngle goes in a clockwise direction 

    path.addLine(to: CGPoint(x: 8, y: 0)) 
    path.addArc(withCenter: CGPoint(x: 8, y: 2), 
       radius: 2, 
       startAngle: CGFloat(3*M_PI_2), // straight up 
     endAngle: CGFloat(0), // 0 radians = straight right 
     clockwise: true) 

    path.addLine(to: CGPoint(x: 10, y: 12)) 
    path.addCurve(to: CGPoint(x: 8, y: 15), // ending point 
     controlPoint1: CGPoint(x: 10, y: 14), 
     controlPoint2: CGPoint(x: 8, y: 14)) 

    path.close() 

    return path 
} 
+0

안녕하세요 @Paul k. 난 내 애플 리케이션 (위의 이미지 및 저장으로 객관적인 C로 얼굴을 캡처)에서 동일한 일을해야만 그래서 내가 할 일은 당신이 내게 링크를 줄 수있는 경우에만 얼굴을 캡처하고 저장하시기 바랍니다 모든 종류의 라이브러리가 있다면 도와주세요 .. 미리 감사드립니다 –

+0

hi.sir 하나의 도움 내 프로젝트 날 모양 이미지 자르기하지만 자르기 완벽한 얼굴 모양 이미지 제발 나를 도와주세요 객관적인 .. –

답변

1

UIImageView에 원본 사진을 넣고 수행

let mask = CAShapeLayer() 
mask.path = createBezierPath() 
imageView.layer.mask = mask 

내부에 자른 얼굴 만 표시해야합니다. 메서드를 새로 사용하려면

+0

Alistra! 나는 이것을 시도 할 것이다. –

+0

hello @Alistra 객관적인 C에서 내 애플 리케이션 (위의 이미지 및 저장으로 얼굴을 캡처)에서 똑같은 일을해야만 그래서 내가 할 일은 당신이 내게 링크를 줄 수 있습니까? 저를 도와주세요. 제발 도와주세요. 미리 감사드립니다. –