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;

これにより、画像の角を丸くすることができます。そして、 circle に一致するように半径を計算すると、目的の外観が得られるはずです。

お役に立てれば。

乾杯、

ジョージ

于 2012-07-05T12:32:28.193 に答える