18 Swift解决图像拉伸问题

18 Swift解决图像拉伸问题,第1张

概述在iOS开发中,经常需要对图像经常优化处理,免得影响性能。下面记录怎么绘制新的图片解决图像拉伸问题。 1 获取绘图上下文 /** 1.取绘图上下文 * size: 需要绘制的目标图片大小 * opaque : bool值,指定TRUE,则表示忽略alpha通道并优化位图的存储,FALSE,表示每个像素使用一个premultipled ARGB格式 * sc

在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!    }
总结

以上是内存溢出为你收集整理的18 Swift解决图像拉伸问题全部内容,希望文章能够帮你解决18 Swift解决图像拉伸问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1063926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存