2

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

}

我想把我的形象画成圆圈。

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

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

4

2 回答 2

1

试试这个在CGContextSetFillColorWithColor函数中设置颜色[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"pattern.jpg"]CGColor];

于 2012-11-16T12:26:00.863 回答
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);

让我知道

于 2012-11-16T11:20:28.590 回答