저는 UIView 하위 클래스가 있고 drawRect 밖으로 CGPath를 그립니다. 나는 그것이 가능하고 불가능하다는 소식을 들었다. CGPath에 문맥이 필요하다는 것을 이해합니다. newImage에 컨텍스트를 지정하려고했습니다. 나는 또한이 당신을 도움이된다면 참조의 drawRectdrawRect 밖으로 cgpath를 만듭니다.
- (void)createPath:(CGPoint)origin
{
CGSize size=CGSizeMake(320, 480);
CGContextRef context = UIGraphicsGetCurrentContext();
UIGraphicsBeginImageContextWithOptions(size,YES,1.0f);
CGContextSaveGState(context);
UIImage *myImage = UIGraphicsGetImageFromCurrentImageContext();
CGRect newRect= CGRectMake(0, 0, 320, 480);
CGMutablePathRef path1 = CGPathCreateMutable();
CGPathMoveToPoint(path1, nil,100, 200);
CGPoint newloc = CGPointMake(300, 130);
CGPathMoveToPoint(path1, NULL, newloc.x, newloc.y);
CGPathAddLineToPoint(path1, NULL, newloc.x + 16,newloc.y + 38);
CGPathAddLineToPoint(path1, NULL, newloc.x + 49, newloc.y + 0);
CGPathAddLineToPoint(path1, NULL, newloc.x + 23, newloc.y - 39);
CGPathAddLineToPoint(path1, NULL, newloc.x - 25,newloc.y - 40);
CGPathAddLineToPoint(path1, NULL, newloc.x -43, newloc.y + 0);
CGPathCloseSubpath(path1);
CGContextAddPath(context, path1);
CGContextSaveGState(context);
CGContextSetLineWidth(context, 10.0);
CGContextSetStrokeColorWithColor(context, [UIColor orangeColor].CGColor);
CGContextSetFillColorWithColor(context, [UIColor blackColor].CGColor);
//Fill and stroke
CGContextDrawPath(context, kCGPathFillStroke);
//CGContextDrawImage(context, newRect, myImage.CGImage);
UIGraphicsEndImageContext();
CGContextRestoreGState(context);
CGPathRelease(path1);
CGContextRelease(context);
}
경로에서 그려진 컨텍스트에서 이미지를 얻으려고하십니까? – cocoakomali
난 그냥 흔적처럼 보이게 CGPath를 만들고 싶다. drawRect에서 모든 것을 할 때 어떻게하는지 알 수 있습니다. DrawRect 밖에서 CGPath를 그리는 방법을 모르겠습니다. 저는 컨텍스트가 필요하다는 것을 압니다. 그리기 위해 이미지를 만들어야한다고 생각했습니다. – Asdrubal