iOS壓縮圖片分辨率代碼
+ (UIImage )imageWithMaxSide:(CGFloat)length sourceImage:(UIImage )image{ CGFloat scale = [[UIScreen mainScreen] scale]; CGSize imgSize = CWSizeReduce(image.size, length); UIImage *img = nil;UIGraphicsBeginImageContextWithOptions(imgSize, YES, scale); // 創建一個 bitmap context [image drawInRect:CGRectMake(0, 0, imgSize.width, imgSize.height) blendMode:kCGBlendModeNormal alpha:1.0]; // 將圖片繪制到當前的 context 上 img = UIGraphicsGetImageFromCurrentImageContext(); // 從當前 context 中獲取剛繪制的圖片 UIGraphicsEndImageContext(); return img;}static inlineCGSize CWSizeReduce(CGSize size, CGFloat limit) // 按比例減少尺寸{ CGFloat max = MAX(size.width, size.height); if (max < limit) { return size; } CGSize imgSize; CGFloat ratio = size.height / size.width; if (size.width > size.height) { imgSize = CGSizeMake(limit, limit*ratio); } else { imgSize = CGSizeMake(limit/ratio, limit); } return imgSize;}</pre><br />
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!