理想情況下,你永遠不會在內存中保存大量的UIImage對象的大圖像。他們會給你u內存警告。 如果圖像是本地文件,則可以使用後臺線程將大圖像縮放爲旋轉木馬的理想大小。您可以保存這些縮略圖並將它們映射到原始圖像。 加載旋轉木馬的拇指指甲,並使用原始圖像文件查看詳細的圖像。拇指指甲爲png以獲得最佳性能.Jpeg解碼不是iOS的本機,並且需要更多的cpu來解碼它們,而不是png.You dont必須保持在覈心數據的拇指指甲數據,.png文件會做我experience.You了很好的工作可以用下面的代碼加載圖像
UIImage * image = [UIImage imageWithContentsOfFile:filePath];
這裏是調整圖像
代碼
- (UIImage *)resizeImage:(UIImage*)image newSize:(CGSize)newSize {
CGRect newRect = CGRectIntegral(CGRectMake(0, 0, newSize.width, newSize.height));
CGImageRef imageRef = image.CGImage;
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
// Set the quality level to use when rescaling
CGContextSetInterpolationQuality(context, kCGInterpolationHigh);
CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, newSize.height);
CGContextConcatCTM(context, flipVertical);
// Draw into the context; this scales the image
CGContextDrawImage(context, newRect, imageRef);
// Get the resized image from the context and a UIImage
CGImageRef newImageRef = CGBitmapContextCreateImage(context);
UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
CGImageRelease(newImageRef);
UIGraphicsEndImageContext();
return newImage;
}
第二個答案[here ](http://stackoverflow.com/questions/6073259/getting-rgb-pixel-data-from-cgimage)討論如何將圖像作爲NSData獲取,您可以使用Core Data存儲圖像。 – Brendon