iPhone 용 지그 소 퍼즐 게임을 만들고 있습니다.iphone UIbezierpath 불규칙한 이미지 자르기
여기 난 그냥 uibezier 경로가 불규칙 모양의 이미지를 자르기위한 최선의 하나입니다 알고 함께 제공되는 인터넷 검색 후 아래 그림
같은 이미지를자를 수 있습니다.
그러나 위와 같은 이미지 자르기 방법에 대한 코드 나 아이디어를 얻지 못했습니다.
iPhone 용 지그 소 퍼즐 게임을 만들고 있습니다.iphone UIbezierpath 불규칙한 이미지 자르기
여기 난 그냥 uibezier 경로가 불규칙 모양의 이미지를 자르기위한 최선의 하나입니다 알고 함께 제공되는 인터넷 검색 후 아래 그림
같은 이미지를자를 수 있습니다.
그러나 위와 같은 이미지 자르기 방법에 대한 코드 나 아이디어를 얻지 못했습니다.
많은 시행 착오를 겪을 것입니다. 베 지어 패스를 사용하여 모양을 만드는 방법에 대한 아이디어를 빨리 얻었습니다. 아래는 내가, 내가 이미지를 만들 수 있습니다 더 많은 시간을했지만, 너무 많은 시간을 가지고 있지 않기 때문에 빨리 이런 짓을하면 내가 빨리
UIBezierPath *aPath = [UIBezierPath bezierPath];
// Set the starting point of the shape.
[aPath moveToPoint:CGPointMake(50.0, 50.0)];
// Draw the lines.
[aPath addLineToPoint:CGPointMake(100.0, 50.0)];
[aPath addLineToPoint:CGPointMake(100.0, 100.0)];
[aPath addLineToPoint:CGPointMake(50.0, 100.0)];
[aPath closePath];
CAShapeLayer *square = [CAShapeLayer layer];
square.path = aPath.CGPath;
[self.view.layer addSublayer:square];
를 만든 사각형 모양을 만드는 예제 코드입니다. 포인트를 만드는 방법에 머리를 돌리면 사용하기가 너무 어렵지 않습니다. 이 도형을 만들 때 많은 시행 착오를 거치지 만, 베 지어 패스를 사용하여 도형을 만드는 방법의 기초로 제공된 코드를 사용하십시오. 당신은 당신이 염두에두고있는 모양으로 끝낼 더 많은 포인트를 만들어야합니다.
또한 곡선을 만드는 방법을 이해하고 이미지에 추가하는 불규칙한 모양은 "경로에 추가 곡선"에 특히 찾는
를 만드는 애플의 개발자 가이드에서 찾고 추천 . 당신은 지그 소 퍼즐 조각 모양을 만들기 위해 당신이 만들려고하는 것이 필요합니다편집 :
보십시오이 방법
- (void) setClippingPath:(UIBezierPath *)clippingPath : (UIImageView *)imgView;
{
if (![[imgView layer] mask])
[[imgView layer] setMask:[CAShapeLayer layer]];
[(CAShapeLayer*) [[imgView layer] mask] setPath:[clippingPath CGPath]];
}
베 지어 경로와 이미지 뷰를 취할 것입니다 위의 방법 그런 다음 특정 이미지 뷰에 베 지어 경로를 적용하십시오. 클리핑도 할 것입니다. 시행 착오를 많이 겪어 내 생각에 모양이 올바르다는 것을 상상할 수 있습니다. 때로는 복잡한 모양을 만드는 것이 어렵고 좌절 할 수 있습니다. 이 코드
UIBezierPath *aPath = [UIBezierPath bezierPath];
// Set the starting point of the shape.
[aPath moveToPoint:CGPointMake(0.0, 0.0)];
// Draw the lines.
[aPath addLineToPoint:CGPointMake(50.0, 0.0)];
[aPath addLineToPoint:CGPointMake(50.0, 50.0)];
[aPath addLineToPoint:CGPointMake(0.0, 50.0)];
[aPath closePath];
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bar.png"]];
imgView.frame = CGRectMake(0, 0, 100, 100);
[self setClippingPath:aPath :imgView];
[self.view addSubview:imgView];
을 적용
빠른 예는 그냥 빨리 이미지의 왼쪽 상단 부분에서 사각형을했다. 예를 들어 정사각형 이미지가있는 경우 이미지의 너비와 높이를 반복하고 위 코드를 사용하여 별도의 사각형으로 자르고 개별적으로 반환 할 수 있습니다. 지그 소 퍼즐 조각을 훨씬 더 복잡하게 만들지 만 이것이 도움이 되었기를 바랍니다.
답장을 보내 주셔서 감사 드리며 제 질문에 시간을 보내고 있습니다. 네, 이제 여행해야하는 경로에서 분명합니다. 여기서 또 다른 질문은 이미지를 자르는 것입니다. 너는 그것에 대해 어떤 생각을 가지고 있니? 이 uibezier 경로를 사용하여 플로트 커브 자르기? – nik
그리고이 패턴을 uiimage와 일치시키고 싶습니다. 그 패턴으로 이미지를 자르고 싶습니다. – nik
제 편집을보세요. 베 지어 경로와 imageView를 사용하는 곳에서 사용할 수있는 방법을 포함하고 당신을 위해 클리핑을 수행합니다 . 희망은 도움이 – AdamM
내 대답을보세요. http://stackoverflow.com/questions/13153223/how-to-crop-the-image-using-uibezierpath/ 15353848 # 15353848 –