在Swift或Objective-C中,任何人都知道如何让用户拍照(从相册或相机)并将其保存到特定设计。例如,我已经看到Instagram如何允许用户设置他们的个人资料图片,它看起来像一个圆圈。如何将其保存为圆形,我试图使用三角形,任何建议?
答案 0 :(得分:1)
您希望使用形状屏蔽图像视图,使用CAShapeLayer
然后将mask
应用于layer
。
我将根据您的原始请求使用三角形。
let imageView = UIImageView(image: UIImage(named: "picture.jpg"))
let path = UIBezierPath()
path.moveToPoint(CGPoint(x: CGRectGetWidth(imageView.bounds) / 2, y: 0))
path.addLineToPoint(CGPoint(x: CGRectGetWidth(imageView.bounds), y: CGRectGetHeight(imageView.bounds)))
path.addLineToPoint(CGPoint(x: 0, y: CGRectGetHeight(imageView.bounds)))
path.closePath()
let shapeLayer = CAShapeLayer()
shapeLayer.path = path.CGPath
imageView.layer.mask = shapeLayer
这给了我们这样的东西:
答案 1 :(得分:0)
通过添加等于UIImageView大小一半的角半径来完成圆圈。
let view = {
'': {
templateUrl: '/app/profile/index.html'
},
'content': {
templateUrl: '/app/content.html'
},
'sidebar': {
templateUrl: '/app/sidebar.html'
}
};
.state('profile', {
abstract: true,
url: '/profile',
views: view
})
.state('profile.about', {
parent: 'profile',
url: '/about',
views: {
'': {
templateUrl: '/app/profile/about.html'
}
}
})
但是,这对于三角形不起作用。您可以在该形状中制作图层蒙版并将其应用于视图。尝试并搜索将图层蒙版应用于UIView。
答案 2 :(得分:0)
如果你想获得一个圆,你可以给它一个圆角半径。
试试这个:
yourImage.layer.cornerRadius = imgView.frame.width / 2
yourImage.clipsToBounds = true
查看本教程了解不同的形状。您可以创建自己的形状并将其应用到照片上。
http://www.raywenderlich.com/90488/calayer-in-ios-with-swift-10-examples