在開發(fā)中特石,有時設(shè)計師會給我們一個大圖片(有若干規(guī)則小圖片組成),讓我們做分開處理并使用
至于為什么要給我們大圖片:
001弓叛、省空間镶苞,一張大圖片肯定比若干小圖片省空間
002肝断、設(shè)計師也方便作圖蝶柿,做一張要比若干張省事
如圖:
我們在還使用時就需要將其分開丈钙,單獨拿來使用
使用 CGImageCreateWithImageInRect 進行剪切處理
我已經(jīng)做成了一個小方法,會在最后給出鏈接交汤,只需要導(dǎo)入雏赦,調(diào)用即可,我說一下處理步驟
001蜻展、將大圖做成UIImage已方便取值和處理
// 從大圖片裁剪對應(yīng)的小圖片
UIImage *bigImage = [UIImage imageNamed:bigImageName];
002喉誊、規(guī)則的小圖片的寬和高
// 小圖形的寬
CGFloat smallW = bigImage.size.width / 橫向小圖標(biāo)個數(shù) ;
// 小圖形的高
CGFloat smallH = bigImage.size.height / 豎向小圖標(biāo)個數(shù) ;
003、確定小圖標(biāo)的位置
CGRect smallRect = CGRectMake(X, Y, smallW, smallH);
004纵顾、獲取小圖片并轉(zhuǎn)為UIImage
// CGImageCreateWithImageInRect 獲取小圖片
CGImageRef smallImageRef = CGImageCreateWithImageInRect(bigImage.CGImage, smallRect);
// 將圖片轉(zhuǎn)為UIImage
UIImage* smallImage = [UIImage imageWithCGImage: smallImageRef];
使用實例:
點擊下載Demo
使用方法:
001伍茄、導(dǎo)入文件:
#import "YoungCutImage.h"
002、調(diào)用類方法施逾,用UIImage接收返回值
#pragma mark X:橫向第幾個 Y:豎向第幾個 wideCount:橫向小圖標(biāo)的個數(shù) heightCount:縱向小圖標(biāo)的個數(shù)
+(UIImage *)cutBigImageName:(NSString *)bigImageName wide_X:(CGFloat)X heigh_Y:(CGFloat)Y wideCount:(CGFloat)wideCount heightCount:(CGFloat)heightCount;
方法調(diào)用示例:
UIImage *bankImage = [YoungCutImage cutBigImageName:@"BankList" wide_X:0 heigh_Y:indexPath.row wideCount:1 heightCount:3];