Консоль отладки для моего тестового приложения Core Filters показывает это сообщение:
CGImageRef 0x7a0e890 имеет заполнение строк байтами. Выполнение дорогостоящей операции распаковки!
Я не смог найти ответ для этого точного сообщения (без информации об указателе) ни в заголовках, ни в поиске Google.
Мои вопросы: (1) что это значит и (2) как я могу исправить ситуацию?
Ниже приведен пример создания отфильтрованного UIImage с помощью CIFilter.
- (UIImage*)sepia
{
CIImage *beginImage = [CIImage imageWithCGImage:[self CGImage]];
CIContext *context = [CIContext contextWithOptions:nil];
CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"
keysAndValues: kCIInputImageKey, beginImage,
@"inputIntensity", [NSNumber numberWithFloat:0.8], nil];
CIImage *outputImage = [filter outputImage];
CGImageRef cgimg =
[context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage *newImg = [UIImage imageWithCGImage:cgimg];
self = newImg;
CGImageRelease(cgimg);
return self;
}