镜像CIImage / NSImage

| 目前我有以下
 CIImage *img = [CIImage imageWithCVImageBuffer: imageBuffer];

 NSCIImageRep *imageRep = [NSCIImageRep imageRepWithCIImage:img];
 NSImage *image = [[[NSImage alloc] initWithSize: [imageRep size]] autorelease];
 [image addRepresentation:imageRep];
这可以完美地工作,我可以使用NSImage,并且在将图像写入文件时,正是我所需要的。 但是,我正在使用QTKit从用户iSight提取此图像,因此我需要能够在y轴上翻转该图像。 我最初的想法是使用类似的方法来转换CIImage,但是我的最终图像总是完全空白。写入文件时,尺寸是正确的,但似乎是空的。
- (CIImage *)flipImage:(CIImage *)image
{
    return [image imageByApplyingTransform:CGAffineTransformMakeScale(-1, 1)];
}
我是否以错误的方式处理此问题?还是我的代码有误?     
已邀请:
该变换将其翻转,但是其围绕的轴不在图像中心,而是在左边缘。您还必须按其宽度平移图像,以解决缩放过程中引起的移动。     
这是一些可以帮助某人的代码==>
    CGAffineTransform rotTrans = CGAffineTransformMakeRotation(M_PI_2);
    CGAffineTransform transTrans1 = CGAffineTransformTranslate(rotTrans, 0.0f, 320.0f);
    CGAffineTransform scaleTrans = CGAffineTransformScale(transTrans1, 1.0, -1.0);
    CGAffineTransform transTrans2 = CGAffineTransformTranslate(scaleTrans, -0.0f, -320.0f);

    self.view.transform = transTrans2;
我使用它来水平翻转前置摄像头中的帧,因此无论设备旋转了什么,它们始终会出现。这些东西确实有点棘手。要弄清楚到底发生了什么,要做的一件事是沿两个轴上的任意一个方向缩小并查看结果。     

要回复问题请先登录注册