Iphone 支持以下图像类型: PNG, JPG, THM, JPEG, TIF, TIFF, GIF, BMP, BMPF, ICO, CUR, XBM, PDF. 1.从应用程序包中加载图像
2.从沙盒中加载图像
如果要加载图像,将图像文件名添加刀返回的路径中,并告诉UIImage使用这些内容创建一副新图像.
3.从URL中加载图像
可以用一个简单的方法来处理这个过程,只需提供一个可获取UIImage的URL字符串即可.
4.从相册加载数据 二.加载图像文件//------------------- //ImageHelper-Files.h 文件 //-------------------- #import <UIKit/UIKit.h> @interface ImageHelper : NSObject @end @interface ImageHelper (Files) + (UIImage *) imageNamed: (NSString *) aName; + (UIImage *) imageFromURLString: (NSString *) urlstring; + (NSArray *) DCIMImages; + (UIImage *) DCIMImageNamed: (NSString *) aName; @end //------------------- //ImageHelper-Files.m 文件 //-------------------- #import "ImageHelper-Files.h" @implementation ImageHelper @end NSString *documentsFolder() { return [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; } NSString *bundleFolder() { return [[NSBundle mainBundle] bundlePath]; } NSString *DCIMFolder() { return [NSHomeDirectory() stringByAppendingPathComponent:@"../../Media/DCIM"]; } @implementation ImageHelper (Files) + (NSString *) pathForItemNamed: (NSString *) fname inFolder: (NSString *) path { NSString *file; NSDirectoryEnumerator *dirEnum = [[NSFileManager defaultManager] enumeratorAtPath:path]; while (file = [dirEnum nextObject]) if ([[file lastPathComponent] isEqualToString:fname]) return [path stringByAppendingPathComponent:file]; return nil; } // Searches bundle first then documents folder + (UIImage *) imageNamed: (NSString *) aName { NSString *path = [ImageHelper pathForItemNamed:aName inFolder:bundleFolder()]; path = path ? path : [ImageHelper pathForItemNamed:aName inFolder:documentsFolder()]; if (!path) return nil; return [UIImage imageWithContentsOfFile:path]; } + (UIImage *) imageFromURLString: (NSString *) urlstring { NSURL *url = [NSURL URLWithString:urlstring]; return [UIImage imageWithData:[NSData dataWithContentsOfURL:url]]; } + (NSArray *) DCIMImages { NSString *file; NSMutableArray *results = [NSMutableArray array]; NSDirectoryEnumerator *dirEnum = [[NSFileManager defaultManager] enumeratorAtPath:DCIMFolder()]; while (file = [dirEnum nextObject]) if ([file hasSuffix:@"JPG"]) [results addObject:file]; return results; } + (UIImage *) DCIMImageNamed: (NSString *) aName { NSString *path = [ImageHelper pathForItemNamed:aName inFolder:DCIMFolder()]; return [UIImage imageWithContentsOfFile:path]; } @end //------------------- TestBedViewController.h 文件 //-------------------- #import <UIKit/UIKit.h> #import "ImageHelper-Files.h" #define COOKBOOK_PURPLE_COLOR [UIColor colorWithRed:0.20392f green:0.19607f blue:0.61176f alpha:1.0f] #define BARBUTTON(TITLE, SELECTOR) [[[UIBarButtonItem alloc] initWithTitle:TITLE style:UIBarButtonItemStylePlain target:self action:SELECTOR] autorelease] #define SETIMAGE(X) [(UIImageView *)self.view setImage:X] const int NUM_OPTIONS = 4; int which = 0; @interface TestBedViewController : UIViewController @end @implementation TestBedViewController - (void) action: (id) sender { switch (which) { case 0: // Load image from web self.title = @"URL-based image"; SETIMAGE([ImageHelper imageFromURLString:@"http://image./images/maps/current/curwx_600x405.jpg"]); break; case 1: // use UIImage's imageNamed: with caching self.title = @"imageNamed:"; SETIMAGE([UIImage imageNamed:@"BFlyCircle.png"]); break; case 2: // Use the Image Helper version of imageNamed: self.title = @"Image Helper"; SETIMAGE([ImageHelper imageNamed:@"icon.png"]); break; case 3: // Load normal background image from bundle self.title = @"Contents of file"; SETIMAGE([UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"cover320x416" ofType:@"png"]]); break; default: break; } NSString *next = [NSString stringWithFormat:@"Example %d", (which = (which + 1) % NUM_OPTIONS) + 1]; self.navigationItem.rightBarButtonItem = BARBUTTON(next, @selector(action:)); } - (void) viewDidLoad { self.navigationController.navigationBar.tintColor = COOKBOOK_PURPLE_COLOR; self.navigationItem.rightBarButtonItem = BARBUTTON(@"Example 1", @selector(action:)); } @end Iphone 支持以下图像类型: PNG, JPG, THM, JPEG, TIF, TIFF, GIF, BMP, BMPF, ICO, CUR, XBM, PDF.
|
|