IOS开发 如果图片太大的缩小算法,通用多种情况

- (CGSize)getSizeWithHeight:(CGFloat)height width:(CGFloat)width

{

    CGSize size = {0,0};

    CGFloat fHeight = [UIScreen mainScreen].bounds.size.height;

    CGFloat fWidth = [UIScreen mainScreen].bounds.size.width;

    if (height < fHeight && width < fWidth)

    {

        size.height = height;

        size.width = width;

    }

    else

    {

        if (height >= fHeight && width <= fWidth)

        {

            CGFloat  mult = fHeight/height;

            size.height = fHeight;

            size.width = width*mult;

        }

        else if (height <= fHeight && width >= fWidth)

        {

            CGFloat  mult = fWidth/width;

            size.height = height*mult;

            size.width = fWidth;

        }

        else if (height >= fHeight && width >= fWidth)

        {

            CGFloat  multW = fWidth/width;

            CGFloat  multH = fHeight/height;

            if (multW <= multH)

            {

                size.height = height*multW;

                size.width = fWidth;

            }

            else

            {

                size.width = width*multH;

                size.height = fHeight;

            }

        }

    }

    

    return size;

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值