美文网首页
iOS根据图片比例计算显示大小

iOS根据图片比例计算显示大小

作者: 季末微夏 | 来源:发表于2018-12-23 00:33 被阅读106次

前言

iOS开发中,很多地方使用到图片浏览,这时候就可能需要旋转屏幕查看图片,下面分享一种计算图片旋转大小的方法,在此抛砖引玉。

代码

 func calculationFrame(image: UIImage) -> CGRect {
        var x: CGFloat = 0
        var y: CGFloat = 0
        var width: CGFloat = 0
        var height: CGFloat = 0
        
        var screenWidth: CGFloat
        var screenHeight: CGFloat

        if #available(iOS 11.0, *) {
            screenWidth = UIScreen.main.bounds.size.width - self.view.safeAreaInsets.left - self.view.safeAreaInsets.right
        } else {
            screenWidth = UIScreen.main.bounds.size.width
        }
        if #available(iOS 11.0, *) {
            screenHeight = UIScreen.main.bounds.size.height - self.view.safeAreaInsets.top - self.view.safeAreaInsets.bottom
        } else {
            screenHeight = UIScreen.main.bounds.size.width
        }
        let imageWidth = image.size.width
        let imageHeight = image.size.height
        
        let widthSpace = fabsf(Float(screenWidth - imageWidth))
        let heightSpace = fabsf(Float(screenHeight - imageHeight))
        
        if widthSpace >= heightSpace {
            if screenWidth > imageWidth {
                width = imageWidth * (screenHeight / imageHeight)
                height = imageHeight * (screenHeight / imageHeight)
            }else {
                width = imageWidth / (imageWidth / screenWidth)
                height = imageHeight / (imageWidth / screenWidth)
            }
        }else {
            if screenHeight > imageHeight {
                width = imageWidth * (screenWidth / imageWidth)
                height = imageHeight * (screenWidth / imageWidth)
            }else {
                width = imageWidth / (imageHeight / screenHeight)
                height = imageHeight / (imageHeight / screenHeight)
            }
        }
        x = (self.view.frame.size.width - width) * 0.5
        y = (self.view.frame.size.height - height) * 0.5
        return CGRect.init(x: x, y: y, width: width, height: height)
    }

效果图

效果图

总结

希望对大家有帮助,demo地址--->>CLDemo

相关文章

  • iOS根据图片比例计算显示大小

    前言 iOS开发中,很多地方使用到图片浏览,这时候就可能需要旋转屏幕查看图片,下面分享一种计算图片旋转大小的方法,...

  • 遮罩层的大小的计算方式

    大图显示的比例的计算方法:盛放大图的容器的大小除以大图的大小 遮罩层大小的宽高根据大图显示的比例乘以小图的大小

  • iOS图片按比例显示

    只需加这么一段代码,如下:

  • 根据像素计算图片大小

    没有经过压缩的bmp格式方可通过像素计算图像文件大小,经过压缩的比如jpg那就受到压缩程度和图像内容复杂程度的影响...

  • 一个能适配所有iphone和ipad屏幕适配工具UIAutoAd

    UIAutoAdaptKit 根据iOS设备屏幕尺寸比例计算调整 支持横竖屏屏幕适配 支持cocoapods : ...

  • HistogramView - 动效柱状图

    浏览 特性 比例将根据传入数据的最大值自动计算 可以更改一屏最大显示行数 颜色字体大小等属性可以更改 用法 在布局...

  • div盒子宽高固定,图片正常显示

    div盒子大小固定,图片要求正常铺满显示 方法一:通过盒子设置宽、高,然后图片直接设置100%。这样小的图片,比例...

  • ReactNative各种样式设置的属性

    一、ImageView 1、设置图片的显示方式 决定当组件尺寸和图片尺寸不成比例的时候如何调整图片的大小。 cov...

  • Bitmap相关

    一、存储格式 当界面显示图片时,不时按图片大小计算,而是按(像素点的多少*每个像素点占用的空间大小)来计算的。将图...

  • Android图片压缩

    一.质量压缩 二.按比例大小压缩(根据Bitmap路径) 三.组合质量和按比例大小压缩(根据Bitmap压缩)

网友评论

      本文标题:iOS根据图片比例计算显示大小

      本文链接:https://www.haomeiwen.com/subject/cghgkqtx.html