У меня возникают проблемы с обрезкой изображения. Для меня фильтр CICrop работает неправильно. Если мои CIVector x и y (originins) равны 0, все работает нормально (изображение обрезается из левого нижнего угла), изображение обрезается по ширине и высоте прямоугольника, но если CIVector origin (x и y) не равно 0 в моем обрезанном изображение становится пространством (поскольку обрезка фильтра CICrop из нижнего левого угла не зависит от того, что происходило (x и y)).
Я обрезаю CIImage с прямоугольником, source:
CIVector *cropRect =[CIVector vectorWithX:150 Y:150 Z: 300 W: 300];
CIFilter *cropFilter = [CIFilter filterWithName:@"CICrop"];
[cropFilter setValue:myCIImage forKey:@"inputImage"];
[cropFilter setValue:cropRect forKey:@"inputRectangle"];
CIImage *croppedImage = [cropFilter valueForKey:@"outputImage"];
Выходное изображение с CIVector X 150 и Y 150: (я нарисовал границу для ясности)
Выходное изображение с CIVector X 0 и Y 0:
Исходное изображение:
Что я делаю неправильно? Или он должен это делать?