IOS中對圖片的處理 UIImage
相信做項目時肯定會有用到 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、– initWithContentsOfFile: //從文件加載圖片
2、– initWithData: //用NSData對象初始化圖片
3、– initWithData:scale: //用NSData對象,指定的比例,初始化圖片
4、– initWithCGImage:
5、– initWithCGImage:scale:orientation:
6、– initWithCIImage:
7、– initWithCIImage:scale:orientation:
繪畫圖片
1、– drawAtPoint:
//在指定的點開始繪畫圖片,這個點就是圖片的做上角頂點
2、- (void)drawAtPoint:(CGPoint)point blendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha
//在指定的點繪制整個圖片,並使用自定義圖片復合模式,並設置透明度
3、– drawInRect:
//在指定區域內繪制圖片,可根據需要縮放圖片
4、– drawInRect:blendMode:alpha:
//參照上面第二條
5、– drawAsPatternInRect:
//在指定區域內,平鋪圖片
image的屬性
imageOrientation //圖片的方向
size //圖片的大小size
scale //圖片的比例
resizingMode //圖片變化方式
CGImage //潛在的Quartz image
CIImage //潛在的Core Image
images //返回一個由圖片組成的數組,針對於由一組圖片生成的動態圖片
duration //返回動態圖片持續的時間(即動態圖片播放一遍的時間)
capInsets //圖片上選定的區域
alignmentRectInsets //圖片平鋪的區域
以上就是我對文檔的粗略閱讀
我認為,這些東西我現在可能有一些還用不上,但是通過這一遍梳理,
起碼我自己知道這個類裡都有什麼東西,以後用的時候就知道在哪能找到了,
這只是一些個人感悟 —— LC