IOS SWIFT создать округленное изображение профиля, как Twitter, Instagram, - PullRequest
0 голосов
/ 01 мая 2018

Я хотел бы создать очень простой редактор изображений, такой же, как твиттер (для изображения профиля)

Я знаю, как ущипнуть или переместить изображение.

Но я не знаю, как создать «круговой слой» и просто сохранить эту часть изображения, например так: example from the twitter app

Ответы [ 3 ]

0 голосов
/ 01 мая 2018

Каждый вид имеет нижележащий слой, к которому вы применяете угловой радиус. Затем вы должны применить clipToBounds к этому слою, чтобы применить эту маску к вышележащему UIView. Радиус угла должен быть вдвое меньше ширины вида, чтобы получить эффект круга. В противном случае углы обзора будут округлены.

Например:

let square = UIView()
    square.center = view.center
    square.bounds.size = CGSize(width: 100, height: 100)
    square.backgroundColor = .red
    view.addSubview(square)

    square.layer.cornerRadius = 50
    square.clipsToBounds = true
0 голосов
/ 01 мая 2018

Вышеупомянутые способы хороши, но вы не можете добиться точного вывода, как на изображении выше E.g Вы не можете получить альфа-эффект.

Я предлагаю простой способ сделать это.

1) Добавить новое изображение в проект с прозрачным фоном с Opocity и кружком.

2) Добавить новое изображениеПросмотреть выше к основному, как показано ниже.

let image = UIImageView(frame: view.bounds)
mage.image = UIImage.init(named:"imageName")
view.addSubview(image)

Тогда вывод должен быть в соответствии с вашим требованием.

0 голосов
/ 01 мая 2018

Обязательно импортируйте QuarzCore.

func maskRoundedImage(image: UIImage, radius: CGFloat) -> UIImage {
    let imgView: UIImageView = UIImageView(image: image)
    let layer = imgView.layer
    layer.masksToBounds = true
    layer.cornerRadius = radius
    UIGraphicsBeginImageContext(imgView.bounds.size)
    layer.render(in: UIGraphicsGetCurrentContext()!)
    let roundedImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return roundedImage!
}

https://github.com/andreaantonioni/AAPhotoCircleCrop

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...