0

我创建了 myView,它是 myView 的子类UIView并在 myView 上画了一个圆圈。现在我想在圆圈内显示小图像,而不是在圆圈外。但我进入了圈内和圈外,这意味着图像显示在整个 myVIew 上。

我得到了如下图所示

在此处输入图像描述

但我想得到如下

在此处输入图像描述

有没有可能?请帮我。

4

2 回答 2

2

假设椭圆是UIBezierPath,您可以使用:

UIImage *patternImage = [UIImage imageNamed:@"thePattern.png"];
UIColor *fillPattern = [UIColor colorWithPatternImage:patternImage];
[fillPattern setFill]; 
[thePath fill];

编辑

CGContextAddEllipseInRect使用图案图像创建的填充椭圆:

- (void)drawRect:(CGRect)rect {

    CGImageRef patternImage = [UIImage imageNamed:@"file"].CGImage;
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextAddEllipseInRect(context, CGRectMake(100, 100, 200, 200));
    CGContextClip(context);
    CGContextDrawTiledImage(context, CGRectMake(20, 20, 48, 36),patternImage);

}
于 2012-07-05T12:29:56.740 回答
1

你可以试试这个:

#import <QuartzCore/QuartzCore.h>

并在您的代码中,制作圆圈后,添加图像并设置这些: myImageView.layer.cornerRadius = x;

myImageView.layer.masksToBounds = TRUE;

这使您可以在图像上使用圆角。如果你计算半径以匹配你的圆,你应该得到想要的外观。

希望这可以帮助。

干杯,

乔治

于 2012-07-05T12:32:28.193 回答