美文网首页iOS
iOS UIImage 调整图片大小避免模糊

iOS UIImage 调整图片大小避免模糊

作者: _10_01_ | 来源:发表于2017-09-18 15:08 被阅读2126次

    因需要对UITabBarItemUIImage的大小进行调整,直接使用 UIGraphicsBeginImageContext 调整图片大小将会导致图片模糊,原来使用60px大小,后面切换成180px还是模糊;
    后来根据网友的代码,在调整时加上屏幕的缩放倍数后达到预期,记录代码,留用:

    - (UIImage *)scaleToSize:(UIImage *)image size:(CGSize)size {
        // 创建一个bitmap的context
        // 并把它设置成为当前正在使用的context
        // Determine whether the screen is retina
        /*
        if([[UIScreen mainScreen] scale] == 2.0) {                    
            UIGraphicsBeginImageContextWithOptions(size, NO, 2.0);
        } else {
            UIGraphicsBeginImageContext(size);
        }
         */
        UIGraphicsBeginImageContextWithOptions(size, NO, [[UIScreen mainScreen] scale]);
        // 绘制改变大小的图片
        [image drawInRect:CGRectMake(0, 0, size.width, size.height)];
        // 从当前context中创建一个改变大小后的图片
        UIImage * scaledImage = UIGraphicsGetImageFromCurrentImageContext();
        // 使当前的context出堆栈
        UIGraphicsEndImageContext();
        // 返回新的改变大小后的图片
        return scaledImage;
    }
    

    参考:
    iOS缩小图片反而模糊,用什么方法更好?

    相关文章

      网友评论

        本文标题:iOS UIImage 调整图片大小避免模糊

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