IOS中對圖片的處理 UIImage
UIImage 繼承於NSObject
下面介紹一下UIImage中的方法
首先是我們最常用的
通過圖片的文件名來獲取這個圖片
+ (UIImage *)imageNamed:(NSString *)name
//要注意的是這個方法適用於已經導入到工程中的圖片
1、+ (UIImage *)imageWithContentsOfFile:(NSString *)path
//通過文件加載指定路徑下的文件內容獲得新圖片
2、+ (UIImage *)imageWithData:(NSData *)data
//通過一個NSData對象來獲得圖片
3、+ (UIImage *)imageWithData:(NSData *)data scale:(CGFloat)scale
//同上,只是再加上一個圖片大小比例,用來改變圖片的大小
4、+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage
//使用Quartz 2D對象創建UIImage
5、+ (UIImage *)imageWithCGImage:(CGImageRef)imageRef scale:(CGFloat)scale orientation:(UIImageOrientation)orientation
//制定圖片的比例和方向,其中方向是個枚舉類。
6、+ (UIImage *)imageWithCIImage:(CIImage *)ciImage
//用一個Core Image 對象創建圖像
7、+ (UIImage *)imageWithCIImage:(CIImage *)ciImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation
//再加上比例和圖片方向
8、- (UIImage *)imageWithAlignmentRectInsets:(UIEdgeInsets)alignmentInsets
//返回指定矩形區域內的圖像
9、+ (UIImage *)animatedImageNamed:(NSString *)name duration:(NSTimeInterval)duration
//創建一個動態圖片,動態圖片持續的時間為duration
10、+ (UIImage *)animatedImageWithImages:(NSArray *)images duration:(NSTimeInterval)duration
//用一組圖片創建一個動態圖片,動態持續時間duration
11、+ (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets duration:(NSTimeInterval)duration
//創建一個在可變大小的圖片上指定矩形區域內的動態圖片
12、+ (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode duration:(NSTimeInterval)duration
//同上,只是多了一個圖片變化的方式,具體來說就是平鋪或者拉伸
13、- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets
//用制定矩形區域創建圖像
14、- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
//同上,指定圖片變化方式
初始化圖片
方法的作用在從上面的一些方法中都能找到原型,這裡就不一一注釋了
1、C initWithContentsOfFile: //從文件加載圖片
2、C initWithData: //用NSData對象初始化圖片
3、C initWithData:scale: //用NSData對象,指定的比例,初始化圖片
4、C initWithCGImage:
5、C initWithCGImage:scale:orientation:
6、C initWithCIImage:
7、C initWithCIImage:scale:orientation:
繪畫圖片
1、C drawAtPoint:
//在指定的點開始繪畫圖片,這個點就是圖片的做上角頂點
2、- (void)drawAtPoint:(CGPoint)point blendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha
//在指定的點繪制整個圖片,並使用自定義圖片復合模式,並設置透明度
3、C drawInRect:
//在指定區域內繪制圖片,可根據需要縮放圖片
4、C drawInRect:blendMode:alpha:
//參照上面第二條
5、C drawAsPatternInRect:
//在指定區域內,平鋪圖片
image的屬性
imageOrientation //圖片的方向
size //圖片的大小size
scale //圖片的比例
resizingMode //圖片變化方式
CGImage //潛在的Quartz image
CIImage //潛在的Core Image
images //返回一個由圖片組成的數組,針對於由一組圖片生成的動態圖片
duration //返回動態圖片持續的時間(即動態圖片播放一遍的時間)
capInsets //圖片上選定的區域
alignmentRectInsets //圖片平鋪的區域