裁剪UIImage以适应帧图像
我需要裁剪一个UIImage
,使用设备相机拍摄,以便它适合另一个UIImage
,它代表一个frame
(带有圆angular的边框等等)。 检查下面的图像:
使用方面填充
使用Aspect Fit
所以,我需要的是去除超出帧边界的图像。 我尝试使用UIBezierPath
, CGImageRef
和其他方法,我谷歌search,但我没有find这个解决scheme。
在Interface Builder中,使用以下configuration:
有两个重要的设置,即:
-
Mode: Aspect Fill
-
Clip Subviews
它也可以通过编程来完成:
[imageView setContentMode:UIViewContentModeScaleAspectFill]; [imageView setClipsToBounds:YES];
这将正确地填充图像的视图,保持其纵横比,并隐藏不适合的东西。
在你的控制器中制作一个IBOutlet
。
@property (retain)IBOutlet UIImageView* imageView;
并在-(void) viewDidLoad
设置
imageView.layer.masksToBounds = YES;
在界面生成器中,访问详细信息窗格(第四个)内的模式菜单,并为您的UIImageView
(我想“中心”或“方面适合”)select正确的一个。
老解答:
您可以使用CALayer的contentGravity
属性来使其工作
一个常量,指定图层的内容如何在边界内定位或缩放。
@property(copy) NSString *contentsGravity
使用UIImageView
并做
imageView.contentMode = UIViewContentModeScaleAspectFit;