【问题标题】:Flip video around arbitrary axis围绕任意轴翻转视频
【发布时间】:2014-01-29 13:31:04
【问题描述】:

我有一个用户录制的视频。我希望用户能够定义任意旋转轴,并沿该轴翻转视频。我还希望将最终翻转的视频裁剪为原始大小。

我使用CGAffineTransformMakeScale(-1, 1) 沿水平轴翻转视频,但那是在中心点附近。

我已经在使用AVMutableComposition 进行一些合成。有没有AVMutableVideoCompositionLayerInstruction 有帮助?

_麦克

【问题讨论】:

    标签: ios avfoundation


    【解决方案1】:

    您应该计算用户设置轴的位置或图像偏移的距离,翻转图像并在相反方向重新应用此偏移。然后,您只需要获取图像的子图像。 你可以这样做:

    CGRect fromRect = CGRectMake(0, 0, 320, 480); // or whatever rectangle
    
    CGImageRef drawImage = CGImageCreateWithImageInRect(image.CGImage, fromRect);
    UIImage *newImage = [UIImage imageWithCGImage:drawImage];
    CGImageRelease(drawImage);
    

    Code Reference Subimage of Image

    【讨论】:

    • 我正在考虑为视频做这个,而不仅仅是一个帧。我仍然喜欢你关于简单翻转然后翻译的方法。我认为视频帧也有“裁剪”机制。谢谢你的信息,我会看看我能想出什么。
    • 哦,这可能行得通,但是如果您导入 QuartzCore 并使用 MPMoviewPlayerView.layer 的转换方法,您也许可以实现这一点,并在视频上放置一个蒙版以使其看起来像您裁剪它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多