У меня проблемы с кадрированием изображения. У меня фильтр CICrop не работает должным образом. Если мои CIVector x и y (исходные) равны 0, все работает нормально (изображение обрезается из левого нижнего угла), изображение обрезается по ширине и высоте моего прямоугольника, но если исходные точки CIVector (x и y) не равны 0 в моем обрезанном изображение становится пространством (поскольку фильтр CICrop обрезает нижний левый угол независимо от начала координат (x и y)).
Я обрезаю CIImage прямоугольником, источник:
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:
Исходное изображение:
Что я делаю не так? Или так и должно быть?