2011-05-15 46 views
1

我是整个AVFoundation的新手。在我使用旧的UIImagePickerControllerSourceTypeCamera之前。使用AVFoundation为iPhone添加覆盖/操作?

我基本上要做到增加一个半透明叠加的叠加以及操纵像素创建一个黑色&白的效果,深褐色的组合等

我显示它并捕获它使用AVFoundation框架,我可以采取一个静止的框架,但我不知道如何添加覆盖。

请帮忙。谢谢。

回答

1

如果你打算对图像做任何大量的处理,那么我建议你使用OpenGL ES。如果它很简单,比如叠加,那么你可以使用CoreGraphics。

这是一个快速的剪辑它得到的像素。

void modifyImage(CMSampleBufferRef source) { 
    CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(source); 
    CVPixelBufferLockBaseAddress(imageBuffer,0); 

    size_t bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer); 
    size_t width = CVPixelBufferGetWidth(imageBuffer); 
    size_t height = CVPixelBufferGetHeight(imageBuffer); 
    void *src_buff = CVPixelBufferGetBaseAddress(imageBuffer); 

    int32_t *src = (int32_t*) src_buff; 

    //modify the image 

    CVPixelBufferUnlockBaseAddress(imageBuffer, 0); 
    return; 
} 

对于使用OpenGL ES处理视频的良好开端,请参阅Brad Larson's博客。

+0

在这种情况下,我们去这个片段?任何示例链接? – 2013-11-11 11:39:44