【问题标题】:Resizing and compressing the image which am getting from url调整和压缩从 url 获取的图像
【发布时间】:2013-11-27 14:23:34
【问题描述】:

在我的项目中,我正在尝试压缩图像(来自服务器)。我使用 HJManager 进行压缩。因为他们正在将 uiimage 压缩到用户提到的大小,这很酷,但占用了太多的应用程序内存。对于 30 张图像,它占用了将近 400 mb 的实时字节。并且它越来越崩溃。如果你想看我的代码,我会粘贴它。但我想知道在不干扰用户界面的情况下压缩(mbs 到 kbs)从服务器获取的图像的最佳方法。

【问题讨论】:

    标签: ios memory-management uiimage


    【解决方案1】:

    切换到SDWebImage。比 HJManager 更好的缓存库,内存占用更小,更现代,它使用带有完成处理程序的块。最后但同样重要的是,它得到积极维护,这意味着即使出现问题,社区也会对其进行修补。

    您可以使用以下方法轻松调整图像大小:

    + (UIImage*)imageWithImage:(UIImage*)image 
                   scaledToSize:(CGSize)newSize;
    {
       UIGraphicsBeginImageContext( newSize );
       [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
       UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
       UIGraphicsEndImageContext();
    
       return newImage;
    }
    

    【讨论】:

    • 是的,你是对的,但它没有调整 uiimage 的大小,我试过这个 SDWebImage,它与 HJ 相比非常好,但它正在扩展我的图像。所以,我想以较低的质量将图像精确调整为原始图像大小。
    • 它正在拉伸我的图像 niko。我不能用那个
    • 将此添加到您的 imageView 以便图像不会拉伸:myimageView.contentMode = UIViewContentModeScaleAspectFit;
    猜你喜欢
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2012-06-29
    相关资源
    最近更新 更多