は別のUIImageViewに基づいて丸いUIImageを取得してください:丸みを帯びたUIImageをクリップするにはUIImageView Boundsのサイズを変更するにはどうすればいいですか?
1)と呼ばれるUIImageView:
@interface CompetitorAnalysisViewController()
@property (weak, nonatomic) IBOutlet UIImageView *submitImageButton;
@end
2)UIImageラウンド:
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
// Round the image
UIImage *roundedChosenImage = [self getRoundedRectImageFromImage:chosenImage onReferenceView:_submitImageButton withCornerRadius: _submitImageButton.frame.size.width/2];
3)をどのように丸めますUIImage:
- (UIImage *)getRoundedRectImageFromImage :(UIImage *)image onReferenceView :(UIImageView*)imageView withCornerRadius :(float)cornerRadius
{
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 0);
[[UIBezierPath bezierPathWithRoundedRect:imageView.bounds
cornerRadius:cornerRadius] addClip];
[image drawInRect:imageView.bounds];
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return finalImage;
}
問題:
UIImage(UIImageViewではなく)を丸めて丸くしたいと思っています。しかし、私が今得た丸いUIImageは私が望むよりも大きいです。
"imageView.bounds"のサイズを何らかの方法で変更する必要がありますか?比例的にサイズを変更することができれば素晴らしいことでしょう。
これを達成するための他の方法がありますか?
あなたは正しい軌道に乗っていると思います。単に 'imageView.bounds'のサイズを変更し、' drawInRect'を実行すると、あなたが望むサイズになります。 – brandonscript
@brandonscript私はobjective-cに新しい人物で、オンラインで検索しましたが、実際にimageView.boundsのサイズを変更する方法は見つかりませんでした。 –
'imageView.bounds = CGRectMake(X、Y、L、W)'はそれを行うべきです – brandonscript