Tôi có một chuỗi nền tải hình ảnh và hiển thị chúng trong chuỗi chính. Tôi nhận thấy rằng các chủ đề nền hầu như không có gì để làm, bởi vì hình ảnh giải mã thực tế dường như được thực hiện trong các chủ đề chính:Giải mã hình ảnh trong chuỗi nền?
Cho đến nay tôi đã cố gắng gọi [UIImage imageNamed:]
, [UIImage imageWithData:]
và CGImageCreateWithJPEGDataProvider
ở chế độ nền chủ đề không có sự khác biệt. Có cách nào để buộc các giải mã được thực hiện trên các chủ đề nền?
Đã có a similar question tại đây nhưng không hiệu quả. Như tôi đã viết ở đó, tôi đã cố gắng lừa sau:
@implementation UIImage (Loading)
- (void) forceLoad
{
const CGImageRef cgImage = [self CGImage];
const int width = CGImageGetWidth(cgImage);
const int height = CGImageGetHeight(cgImage);
const CGColorSpaceRef colorspace = CGImageGetColorSpace(cgImage);
const CGContextRef context = CGBitmapContextCreate(
NULL, /* Where to store the data. NULL = don’t care */
width, height, /* width & height */
8, width * 4, /* bits per component, bytes per row */
colorspace, kCGImageAlphaNoneSkipFirst);
NSParameterAssert(context);
CGContextDrawImage(context, CGRectMake(0, 0, width, height), cgImage);
CGContextRelease(context);
}
@end
đó làm việc (buộc hình ảnh để giải mã), nhưng nó cũng gây nên một cuộc gọi rõ ràng tốn kém để ImageIO_BGR_A_TO_RGB_A_8Bit
.
cảm ơn bạn, hoạt động tốt. – Morrowless