2013-04-01 40 views
3

我很沮丧。为什么这不会垂直翻转我的CIImage?这会垂直翻转我的CIImage吗?

recognizedImage = [recognizedImage imageByApplyingTransform:CGAffineTransformTranslate(CGAffineTransformMakeScale(1, -1), 0, recognizedImage.extent.size.height)]; 

回答

4

不要忘记将CoreImage.framework添加到您的项目。

这个工作对我来说:

// Load image 
UIImage *u = [UIImage imageNamed:@"myimage"]; 
// Convert to CIImage 
CIImage *c = [[CIImage alloc] initWithImage:u]; 
// Apply transform 
c = [c imageByApplyingTransform:CGAffineTransformTranslate(CGAffineTransformMakeScale(1, -1), 0, c.extent.size.height)]; 

// Convert back to UIImage 
CIContext *context = [CIContext contextWithOptions:nil]; 
u = [UIImage imageWithCGImage:[context createCGImage:c fromRect:c.extent]]; 

// Load the UIImage into the view 
[self.imageView setImage:u]; 
+0

工作完美。我不知道我做错了什么。可能只需要坐下来思考,哈哈。谢谢您的帮助。 – mrplants

2

你试过将其分成两个部分?

myImage = [myImage imageByApplyingTransform:CGAffineTransformMakeScale(1, -1)]; 
myImage = [myImage imageByApplyingTransform:CGAffineTransformMakeTranslation(0, extent.size.height)];