2011-09-26 47 views
1

我正在爲更大的圖像創建拼貼,並將它們保存到磁盤。問題:有沒有什麼辦法可以優化圖像,以便從磁盤讀取和解壓縮PNG更快?可能通過更改保存圖像的自定義位圖上下文中顏色空間中的順序或顏色字節?將圖像保存爲PNG時,圖像具有何種顏色格式有什麼意義?

UIImage *fullSizeImage = [self cachedImageWithURL:imageURL]; 
CGRect tileRect = (CGRect){{column*tileSize.width, row*tileSize.height}, {tileSize.width, tileSize.height}}; 
CGRect totalRect = (CGRect){CGPointZero, fullSizeImage.size}; 
tileRect = CGRectIntersection(tileRect, totalRect); 
CGImageRef tileImage = CGImageCreateWithImageInRect([fullSizeImage CGImage], tileRect); 
UIImage *retImage = [UIImage imageWithCGImage:tileImage]; 
[self.cache setObject:retImage forKey:cacheURL cost:0]; 
[retImage savePNGAsyncToURL:cacheURL]; 
+0

我不確定你會怎麼做,但不使用alpha通道時會有幫助。這會導致文件大小減小。此外,在繪製不是您的主要目標的圖像時,它對性能尤其有用。 – JoePasq

回答

0

我這個基準,它看起來這個速度是密切相關的文件大小(小文件速度更快):

http://imageoptim.com/tweetbot.html

如果你用有損壓縮OK,然後使用pngquant來創建這些文件。在8bpp時,他們將有1/4的數據開始。

相關問題