Tengo problemas para recortar la imagen. Para mí, el filtro CICrop no funciona correctamente. Si mi CIVector xey (orígenes) son 0 todo bien (la imagen está recortada desde la esquina inferior izquierda), la imagen está recortada por el ancho y alto de mi rectángulo, pero si los orígenes de CIVector (xey) no son 0 en mi recortada la imagen se convierte en espacio (porque CICrop filtra el recorte desde la esquina inferior izquierda sin importar los orígenes (xey)).Recortar CIImage con CICrop no funciona correctamente
estoy cultivo CIImage con rectángulo, fuente:
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"];
de imagen de salida con CIVector X 150 e Y 150: (I atraído la frontera para mayor claridad)
Imagen de salida con CIVector X 0 e Y 0:
imagen original:
Lo que estoy haciendo mal? ¿O se supone que debe hacer esto?
Gracias Rob! Es bueno para dibujar una imagen, pero cómo hacerlo si necesito un CIImage recortado, no para dibujar, sino un CIImage. Convierte a NSImapa de bloqueo de imágenes -> dibujar imagen -> desbloquearfocus -> convertir a CIImager. Hmm, creo que esto no es bueno, ¿quizás me puedes sugerir cómo obtener CIImage completamente cortado? Muchas gracias de nuevo por su ayuda Rob. +1 –
Agregué un ejemplo del método 'imageByCroppingToRect:' a mi respuesta, que logrará lo que desea. –
Hmm ... esto no funciona para mí, el mismo problema. Mira mi pregunta, agregué el código de actualización en la parte inferior. Gracias por la paciencia Rob. –