Xcode将图像保存为特定形状

时间:2016-02-13 07:43:06

标签: ios objective-c xcode swift

在Swift或Objective-C中,任何人都知道如何让用户拍照(从相册或相机)并将其保存到特定设计。例如,我已经看到Instagram如何允许用户设置他们的个人资料图片,它看起来像一个圆圈。如何将其保存为圆形,我试图使用三角形,任何建议?

3 个答案:

答案 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