第一部分 UIImage支持的圖片格式
windows
格式 後綴數組
JPEG格式 .jpg .jpeg緩存
GIF格式 .gif網絡
PNG格式 .pngoop
windos位圖格式 .bmp .BMPf動畫
windows圖標格式 .icourl
windows光標格式 .curspa
標籤圖像文件格式 .tiff .tif 3d
UIIMage經常使用來顯示圖片的類方法以下:指針
一 從 main bundle 加載指定文件名對應的圖片,可是這個方法有緩存,當試圖去加載的文件不存在的時候,他纔會去加載圖片文件並緩存它,若是已經緩存,則直接使用已緩存好的圖片
+ (UIImage *)imageNamed:(NSString *)name;
二 這個方法根據指定的路徑中去加載文件對應的圖片
+ (UIImage *)imageWithContentsOfFile:(NSString *)path;
三 根據NSData中的圖片數據來加載對應的圖片
+ (UIImage *)imageWithData:(NSData *)data;
四 該方法根據NSData中的圖片數據來加載對應的圖片,而且會按照指定的縮放因子對圖片進行縮放
+ (UIImage *)imageWithData:(NSData *)data scale:(CGFloat)scale NS_AVAILABLE_IOS(6_0);
五 根據指定的CGImageRef對象來建立UIImage
+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage;
六 根據指定的CGImageRef對象來建立UIImage,而且會按照指定的縮放因子對圖片進行縮放和旋轉
+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation NS_AVAILABLE_IOS(4_0);
第二部分 加載圖片的方式
一 從bundle中加載對應的圖片
UIImage* image=[UIImage imageNamed:@"1.png"];
二 從網絡加載圖片
NSURL* url =[NSURL URLWithString:@"1131907198420455d6o.jpg"];
NSData* data =[NSData dataWithContentsOfURL:url];
UIImage* image=[UIImage imageNamed:data];
三 從手機上加載圖片
NSString* path=[[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComopnoent:@"baidu.png"];
UIImage* image=[UIIMage imageWithContentsOfFile: path];
四 加載多張圖片實現動畫的效果
該方法根據指定的圖片名來加載系列圖片
// animated images. When set as UIImageView.image, animation will play in an infinite loop until removed. Drawing will render the first image
+ (UIImage *)animatedImageNamed:(NSString *)name duration:(NSTimeInterval)duration NS_AVAILABLE_IOS(5_0); // read sequence of files with suffix starting at 0 or 1
該方法要求傳入一個數組,做爲多張動畫圖片,數組中的每一個元素都是UIImage對象
+ (UIImage *)animatedImageWithImages:(NSArray *)images duration:(NSTimeInterval)duration NS_AVAILABLE_IOS(5_0);
第三部分 UIIMage與CGImage的關係
UIImage的缺點:不能對圖片進行縮放,旋轉,不能挖取原圖片的指定區域。須要藉助CGImageRef來實現、
CGImageRef不是面向對象的API,而是一個指針類型,
UIImage與CGImageRef相互轉換
一 將image裝換成CGImageRef
UIImage* image=.......
CGImageRef imageRef=[image CGImage];
二 將CGImageref轉換成UIImage
CGIMageRef ref=....
UIImage* image=[UIImage imageWithCGImage:ref];