iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
0
Mobile Development

小菜逼學習IOS系列 第 23

如何把照片變灰階-倒數9天

  • 分享至 

  • xImage
  •  
func grayImage(image:UIImage) -> UIImage {
        //        获得原图像的尺寸属性
        let imageSize = image.size
        //        获得宽度和高度数值
        let width = Int(imageSize.width)
        let height = Int(imageSize.height)
        //  创建灰度色彩空间对象,各种设备对待颜色的方式都不一样,颜色必须有一个相关的色彩空间
        let spaceRef = CGColorSpaceCreateDeviceGray()
        //        参数data指向渲染的绘制内存的地址,bitsOerComponent表示内存中像素的每个组件的位数,bytesPerRow表示每一行在内存中占的比特数,space表示使用的颜色空间,bitmapInfo表示是否包含alpha通道
        let context = CGContext(data: nil, width: width, height: height, bitsPerComponent: 8, bytesPerRow: 0, space: spaceRef, bitmapInfo: CGBitmapInfo().rawValue)!
        //        然后创建一个和原视图同样尺寸的空间
        myView.bounds.size.height = CGFloat(height)
        myView.bounds.size.width = CGFloat(width)
        
        let rect = CGRect(x: 0, y: 0, width: 50, height: 50)
        
        //        在灰度上下文中画入图片
        context.draw(image.cgImage!, in: rect)
        //        从上下文中获取并生成专为灰度的图片
        let grayImage = UIImage(cgImage: context.makeImage()!)
        
        return grayImage
    }

上一篇
實用小功能 -倒數10天
下一篇
NextCloud Login Flow V2(上)、-倒數8天
系列文
小菜逼學習IOS30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言