myView のサブクラスである myView を作成UIView
し、myView に円を描画しました。今、円の外側ではなく、円の中に小さな画像を表示したいと思います。しかし、私は円の内側と外側の円を得ました。これは、画像がmyVIEW全体に表示されることを意味します。
次の写真のようになりました
しかし、私は次のように取得したいと思います
それは可能ですか?私を助けてください。
楕円が であると仮定すると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);
}
これを試すことができます:
#import <QuartzCore/QuartzCore.h>
コードで、円を作成した後、画像を追加してこれらを設定します。
myImageView.layer.cornerRadius = x;
myImageView.layer.masksToBounds = TRUE;
これにより、画像の角を丸くすることができます。そして、 circle に一致するように半径を計算すると、目的の外観が得られるはずです。
お役に立てれば。
乾杯、
ジョージ