ios中關(guān)于image的一個(gè)縮放分類(lèi)

手機(jī)中經(jīng)常會(huì)遇到一些非常大的圖片,當(dāng)把它們導(dǎo)入到我們的緩存時(shí)有時(shí)會(huì)造成程序的閃退,即超過(guò)了125mb,此時(shí)我們有三種方法對(duì)圖片進(jìn)行壓縮,前兩者方法http://blog.csdn.NET/mideveloper/article/details/11473627這位哥們講的已經(jīng)很詳細(xì)了,我自己用OC和Swift寫(xiě)了一個(gè)UIImage的分類(lèi),也比較好用.

OC:

+(UIImage *)reduceScaleToWidth:(CGFloat)width andImage:(UIImage *)image{
        
        if (image.size.width <= width) {
            return image;
        }
        
        CGFloat height = image.size.height * (width/image.size.width);
        
        CGRect rect = CGRectMake(0, 0, width, height);
        
        UIGraphicsBeginImageContext(rect.size);
        
        [image drawInRect:rect];
        
        UIImage * returnImage = UIGraphicsGetImageFromCurrentImageContext();
        
        UIGraphicsEndImageContext();
        
        return returnImage;
    }

SWIFT

    /// 將圖片按指定寬度縮放
    ///
    /// - parameter width: 指定寬度
    ///
    /// - returns: <#return value description#>
    func scaleToWidth(width: CGFloat) -> UIImage {
        if size.width <= width {
            return self
        }
        
        // 計(jì)算高度
        let height = size.height * (width / size.width)
        let rect = CGRect(x: 0, y: 0, width: width, height: height)
        
        // 開(kāi)啟圖形上下文
        UIGraphicsBeginImageContext(rect.size)
        
        // 畫(huà)
        self.drawInRect(rect)
        
        // 取
        let image = UIGraphicsGetImageFromCurrentImageContext()
        
        // 關(guān)閉上下文
        UIGraphicsEndImageContext()
        
        return image
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 在此特此聲明:一下所有鏈接均來(lái)自互聯(lián)網(wǎng),在此記錄下我的查閱學(xué)習(xí)歷程,感謝各位原創(chuàng)作者的無(wú)私奉獻(xiàn) ! 技術(shù)一點(diǎn)一點(diǎn)積...
    遠(yuǎn)航的移動(dòng)開(kāi)發(fā)歷程閱讀 11,188評(píng)論 12 197
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,180評(píng)論 4 61
  • 十月一號(hào)那天,坐著高鐵回家,偶然看了看窗外,看到了西紅門(mén)的宜家,看到了我一直覺(jué)得神秘的黃村火車(chē)站,愉快的和北京告別...
    埃_閱讀 378評(píng)論 0 1
  • 剛看完了《無(wú)聲的告白》,覺(jué)得詹姆斯一家人大概都是可憐的人吧。瑪麗琳一直覺(jué)得自己不應(yīng)該被家庭束縛,她小的時(shí)候就想和別...
    Tomme閱讀 906評(píng)論 0 1
  • 舊年的最后一個(gè)禮拜,看完了三本書(shū),風(fēng)格各異,但都是正兒八經(jīng)的好書(shū)。 前陣子經(jīng)常看到喬納森·弗蘭岑的名字,先是在BB...
    京南鹿閱讀 663評(píng)論 1 1