Конзолата за отстраняване на грешки за моето тестово приложение 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;
}