1
画像を表示するパスを描きたい。iOS - パスを描画して画像を表示する
私はこのようなグラデーションでこれを行うために管理:
CGColorSpaceRef baseSpace = CGColorSpaceCreateDeviceRGB();
CGGradientRef gradient = CGGradientCreateWithColorComponents(baseSpace, colors, NULL, 2);
CGColorSpaceRelease(baseSpace), baseSpace = NULL;
CGContextSetLineWidth(context, self.lineWidth);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextAddPath(context, path);
CGContextReplacePathWithStrokedPath(context);
CGContextClip(context);
CGRect rect = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect));
CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect));
CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);
CGGradientRelease(gradient), gradient = NULL;
私はこのようなイメージを明らかにパスを描画するために同じ原理を適用しようとしました:
CGContextSetLineWidth(context, self.lineWidth);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextAddPath(context, path);
CGContextReplacePathWithStrokedPath(context);
CGContextClip(context);
CGRect rect = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
UIImage *image = [UIImage imageNamed:@"placeholder.png"]; <<-- I get EXC_BAD_ACCESS HERE
CGImageRef imageRef = image.CGImage;
CGContextDrawImage(context, rect, imageRef);
CGImageRelease(imageRef), imageRef = NULL;
私が得た上記のコードから、 EXC_BAD_ACCESS
オンラインUIImage *image = [UIImage imageNamed:@"placeholder.png"];
私は間違っていますか?
に
から変わったのか? – farzadshbfn
私は以前このアプリで使っていました。問題はなかった。 @farzadshbfn – imstillalive