en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

12.07.2010

針對過大或非重複使用影像的載入方式


將影像載入 UIImage 的方式有很多種,通常最常使用的方是是使用 imageName。

UIImage *image = [UIImage imageNamed:@"demo.jpg"];
使用上述這種方式非常簡單,程式碼也比較少,只是系統會把影像存到 Cache 內,如果影像過大,很有可能會消耗過多的系統資源,如果的影像並不需要重複使用,如遊戲的背景或只是將影像讀入到陣列做處理等,可以下面的方式。

//使用NSData的方式將影像加入UIImage中
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"jpg"];
NSData *data = [NSData dataWithContentsOfFile:filePath];
UIImage *image = [UIImage imageWithData:data];

//設定要顯示的ImageView邊界大小
CGRect imageRect = CGRectMake(25.0f, 25.0f, 270.0f, 430.0f);
UIImageView *img = [[UIImageView alloc] initWithFrame:imageRect];

//將UIImage放到ImageView中並顯示在畫面上
[img setImage:image];
[self.view addSubview:img];

[image release];
[img release];






沒有留言:

張貼留言