基于图像的核心图形绘制

时间:2012-11-16 10:30:07

标签: iphone objective-c uiimageview drawing core-graphics

我必须绘制许多形状,如矩形,圆形,三角形等。我正在通过核心图形绘制它们。 它工作正常。 我想问一下,假设我有一个图像(方形图像说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);

}

我想把我的图像画成圆圈。

基本上我希望我们能够填充核心图形中的颜色,无论是圆形,弧形,三角形。那么可以用我的图像而不是任何纯色填充我的形状。

这是可能的,如果是,请建议我如何实现这一目标。 提前谢谢。

2 个答案:

答案 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);

让我知道