我必须绘制许多形状,如矩形,圆形,三角形等。我正在通过核心图形绘制它们。 它工作正常。 我想问一下,假设我有一个图像(方形图像说1024 * 1024),现在我希望我的圆圈绘制为图像意味着我绘制红色圆圈或其他颜色,所以如果有可能显示我的图像如在圆圈中绘制的那样,就像图像是圆圈一样,
My code for normal circle drawing:-
- (void)drawRect:(CGRect)rect{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(ctx, [ [UIColor colorWithRed:255.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:1] CGColor]);
CGContextSetAlpha(ctx, 0.7);
CGContextMoveToPoint(ctx, radius, radius);
CGContextAddArc(ctx, radius,radius, radius, radians(0), radians(360), 0);
CGContextClosePath(ctx);
CGContextFillPath(ctx);
}
我想把我的图像画成圆圈。
基本上我希望我们能够填充核心图形中的颜色,无论是圆形,弧形,三角形。那么可以用我的图像而不是任何纯色填充我的形状。
这是可能的,如果是,请建议我如何实现这一目标。 提前谢谢。
答案 0 :(得分:1)
尝试使用CGContextSetFillColorWithColor
函数[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"pattern.jpg"]CGColor];
答案 1 :(得分:0)
在图像上添加带有矩形的UIView。
在此视图中,您必须绘制孔。
现在我没有mac,我无法检查,但尝试替换
CGContextSetFillColorWithColor(ctx, [ [UIColor colorWithRed:255.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:1] CGColor]);
与
CGContextSetBlendMode(currentContext, kCGBlendModeClear);
让我知道