`

swift -> UIImage 圆角

 
阅读更多

 

 

参考 : https://my.oschina.net/u/216465/blog/868371

 

 

extension UIImage {

    public func roundImage(byRoundingCorners: UIRectCorner = UIRectCorner.allCorners, cornerRadi: CGFloat) -> UIImage? {
        return roundImage(byRoundingCorners: byRoundingCorners, cornerRadii: CGSize(width: cornerRadi, height: cornerRadi))
    }
    
    public func roundImage(byRoundingCorners: UIRectCorner = UIRectCorner.allCorners, cornerRadii: CGSize) -> UIImage? {
        
        let imageRect = CGRect(origin: CGPoint.zero, size: size)
        UIGraphicsBeginImageContextWithOptions(size, false, scale)
        defer {
            UIGraphicsEndImageContext()
        }
        let context = UIGraphicsGetCurrentContext()
        guard context != nil else {
            return nil
        }
        context?.setShouldAntialias(true)
        let bezierPath = UIBezierPath(roundedRect: imageRect,
                                      byRoundingCorners: byRoundingCorners,
                                      cornerRadii: cornerRadii)
        bezierPath.close()
        bezierPath.addClip()
        self.draw(in: imageRect)
        return UIGraphicsGetImageFromCurrentImageContext()
    }
    
}

 

分享到:
评论

相关推荐

    swift-UIImage分类包含根据颜色生成图片等功能

    class func imageWithColor(color: UIColor) -> UIImage? { let rect = CGRect(x: 0, y: 0, width: 1, height: 1) UIGraphicsBeginImageContext(rect.size) let context = UIGraphicsGetCurrentContext() color...

    swift-给UIView或UIImage高性能添加圆角生成渐变色图片等

    func roundedImage(with image: UIImage, cornerRadius: CGFloat) -> UIImage? { let context = CGContext(data: nil, width: image.size.width, height: image.size.height, bitsPerComponent: 8, bytesPerRow: ...

    swift-一个网络下载图片异步生成仿微信群头像的小工具

    func createRoundedRectImage(from image: UIImage, cornerRadius: CGFloat) -> UIImage? { let size = image.size UIGraphicsBeginImageContextWithOptions(size, false, 0.0) let context = ...

    swift-圆形视图(带圆角的视图)

    在Swift编程中,创建带有圆角的视图是常见的需求,尤其在设计用户界面时,圆形视图可以用于用户头像、按钮或者指示器等多种场景。本知识点将深入讲解如何在Swift中实现一个圆形视图,包括使用系统提供的API以及...

    swift-TGImage一款以最新潮的方式来使用UIImage的swift插件

    Swift-TGImage是一款针对UIImage进行优化和扩展的Swift插件,旨在提供更加高效、便捷且现代化的方式来处理和展示图片。这个库充分利用了Swift语言的特性,使得在iOS应用中操作图片变得更加灵活和直观。 首先,...

    swift-JHToast一款经典的提示框

    在这个例子中,我们不仅设置了提示信息,还添加了图标,修改了文字颜色、背景颜色、圆角和对齐方式。 在实际项目中,JHToast可以广泛应用于各种场景,如网络请求的错误提示、用户登录验证结果、功能操作后的反馈等...

    swift-Swift实现的圆形头像小库子

    7. **可扩展性**: 除了基本的圆形,也可能支持其他形状,如椭圆或带有圆角的矩形。 在实际使用中,开发者可以通过以下步骤集成和使用SwiftyAvatar库: 1. **添加依赖**: 将库添加到项目中,这可能通过CocoaPods、...

    swift-YLButton自定义按钮文字图片位置随意定制

    此外,YLButton可能还提供了其他自定义选项,如边框宽度、颜色、圆角等,这些都可以根据需求进行设置。 总之,"swift-YLButton自定义按钮文字图片位置随意定制"项目为开发者提供了一个强大的工具,使得在Swift应用...

    swift-AvatarView简单易用功能全面高度自定义的头像插件

    你可以调整头像的形状,比如圆形、矩形或是带有圆角的矩形。颜色和边框宽度也是可配置的,这使得开发者可以根据品牌风格或个人喜好来定制头像的外观。此外,AvatarView还支持加载动画,比如渐变、旋转等,这些动画...

    swift-MDGroupAvatarView类似微信和QQ的一组头像效果

    - **圆角处理**:若要实现圆形头像,可以使用CAShapeLayer配合贝塞尔曲线路径(UIBezierPath)来创建一个圆形边框,再将UIImageView的layer.mask设置为这个形状层。 4. **阵列布局**: 要将多个头像排列成一个...

    swift-CarouselView三张ImageView实现轮播效果

    if currentIndex >= imageViews.count { currentIndex = 0 } // 更新ImageView的显示 updateImageViews() } ``` `updateImageViews`方法应更新ImageViews的frame,以便平滑地过渡到下一张图片。 ```swift ...

    swift-SwiftyImage在Swift中使用图像的最性感方式

    Swift语言在iOS、macOS等Apple平台的开发中扮演着核心角色,而图像处理和展示是应用程序中不可或缺的一部分。SwiftyImage库就是这样一个强大的工具,它为开发者提供了一种优雅且简洁的方式来处理和显示图像。这个库...

    swift-类似专辑封面效果随手指滚动放大缩小的滚动展示图

    10. **Custom Cell**: 自定义UICollectionViewCell可以更好地控制每个“专辑封面”的显示样式,例如添加阴影、圆角等效果。 总的来说,实现这个功能需要综合运用Swift的UI编程技术,包括UIScrollView、...

    iOS之彻底弄懂resizableImageWithCapInsets

    func resizableImage(withCapInsets capInsets: UIEdgeInsets) -> UIImage? ``` 在这里,`UIEdgeInsets`参数定义了图片四个边缘的cap insets。它的四个属性分别是`top`, `left`, `bottom`, `right`,分别表示上、左...

    Swift 语言 - 基本控件 lable button textField 上传相册照片

    UIImage { // 处理选中的图片,例如上传 } dismiss(animated: true, completion: nil) } } ``` 在`buttonTapped`方法中调用`openImagePicker()`,即可打开相册让用户选择照片。 通过以上介绍,我们了解了...

    iOS常用组件之高效切圆角的方法汇总

    func pureColorImage(withSize size: CGSize, color: UIColor, cornRadius: CGFloat) -> UIImage { let view = UIView(frame: CGRect(origin: .zero, size: size)) view.backgroundColor = color view.layer....

    iOS中设置圆角的几种方法示例

    在iOS开发中,设置视图圆角是一项常见的需求,它能为用户界面提供更美观的视觉体验。本文将详细介绍三种实现iOS中设置圆角的方法,并探讨它们的性能和适用场景。 1. **使用layer属性** Core Animation层(CALayer...

    几个iphone uiimage resize 的类

    6. 使用Category或Extension:在Objective-C中,我们可以为UIImage创建Category来添加这些方法,而Swift则使用Extension。Category/Extension的优点在于可以不改变UIImage原有结构,同时增加便利的方法。 7. GCD...

    iphone开发图片例子

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { guard let index = pages.firstIndex(of: ...

    ios-仿支付宝卡包,图片圆角带阴影.zip

    对于Core Graphics,我们可以使用`CGContext`中的`addRoundedRect`方法配合`UIImage`的`draw(in:)`方法,对图片进行绘制并设置圆角。而在SwiftUI中,可以使用`Image`视图的`.cornerRadius`修饰符来直接设置圆角。...

Global site tag (gtag.js) - Google Analytics