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