Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了18 Swift解决图像拉伸问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

在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解决图像拉伸问题所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: