18 Swift解决图像拉伸问题
发布时间:2020-12-14 06:19:51 所属栏目:百科 来源:网络整理
导读:在iOS开发中,经常需要对图像经常优化处理,免得影响性能。下面记录怎么绘制新的图片解决图像拉伸问题。 1 获取绘图上下文 /** 1.取绘图上下文 * size: 需要绘制的目标图片大小 * opaque : bool值,指定TRUE,则表示忽略alpha通道并优化位图的存储,FALSE
在iOS开发中,经常需要对图像经常优化处理,免得影响性能。下面记录怎么绘制新的图片解决图像拉伸问题。 1 获取绘图上下文/** 1.取绘图上下文 * size: 需要绘制的目标图片大小 * opaque : bool值,指定TRUE,则表示忽略alpha通道并优化位图的存储,FALSE,表示每个像素使用一个premultipled ARGB格式 * scale : 应用于位图的比例因子。如果指定值为0,则缩放因子设置为设备主屏幕的比例因子。 */ UIGraphicsBeginImageContextWithOptions(rect.size,true,0) 2 指定区域内绘制拉伸图片origalImage.draw(in: rect) 3 获取绘制的图片let stretchImage = UIGraphicsGetImageFromCurrentImageContext() 4 关闭绘图上下文UIGraphicsEndImageContext() 5 返回绘制好的图片return stretchImage! 6 完整代码示例/// 拉伸图片 /// /// - parameter origalImage: 需要被拉伸的图片 /// - parameter destinationSize: 拉伸的目标大小 /// /// - returns: 重新绘制好的拉伸图片 func stretchingImage(origalImage:UIImage,destinationSize:CGSize) -> UIImage{ let rect = CGRect(origin: CGPoint(),size: destinationSize) /** 1.取绘图上下文 * size: 需要绘制的目标图片大小 * opaque : bool值,指定TRUE,则表示忽略alpha通道并优化位图的存储,FALSE,表示每个像素使用一个premultipled ARGB格式 * scale : 应用于位图的比例因子。如果指定值为0,则缩放因子设置为设备主屏幕的比例因子。 */ UIGraphicsBeginImageContextWithOptions(rect.size,0) /** 2.指定区域内绘制拉伸图片 * */ origalImage.draw(in: rect) /** 3.获取绘制的图片 * */ let stretchImage = UIGraphicsGetImageFromCurrentImageContext() /** 4关闭绘图上下文 * */ UIGraphicsEndImageContext() /** 5.返回绘制好的图片 * */ return stretchImage! } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |