Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 摄像机上的截屏_Ios_Iphone_Camera - Fatal编程技术网

Ios 摄像机上的截屏

Ios 摄像机上的截屏,ios,iphone,camera,Ios,Iphone,Camera,大家好。我想在相机出现时截图。场景是我正在向摄影机添加一个覆盖视图。当用户调整相机和点击捕捉按钮时。我想生成屏幕上的图像。我尝试过用代码截屏,但只有覆盖是捕捉不到的图像。那就是相机是空白的 我也看到了答案 但是它只捕获图像而不是覆盖视图您可以获取从UIImagePickerController接收到的图像(从代理的didFinishPickingMediaWithInfo方法中接收到的图像),并将其与覆盖视图合并,如下所示: dispatch_async(dispatch_get_global_

大家好。我想在相机出现时截图。场景是我正在向摄影机添加一个覆盖视图。当用户调整相机和点击捕捉按钮时。我想生成屏幕上的图像。我尝试过用代码截屏,但只有覆盖是捕捉不到的图像。那就是相机是空白的

我也看到了答案


但是它只捕获图像而不是覆盖视图

您可以获取从
UIImagePickerController
接收到的图像(从代理的
didFinishPickingMediaWithInfo
方法中接收到的图像),并将其与覆盖视图合并,如下所示:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    UIImage *cameraImage = The image captured by the camera;
    UIImage *overlayImage = Your overlay;
    UIImage *computedImage = nil;

    UIGraphicsBeginImageContextWithOptions(cameraImage.size, NO, 0.0f);
    [cameraImage drawInRect:CGRectMake(0, 0, cameraImage.size.width, cameraImage.size.height)];
    [overlayImage drawInRect:CGRectMake(0, 0, overlayImage.size.width, overlayImage.size.height)];

    computedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    dispatch_async(dispatch_get_main_queue(), ^{
       // don't forget to go back to the main thread to access the UI again
    });
});

编辑:我添加了一些dispatch\u async以避免阻塞UI

这不是完整的答案,但它帮助了我。谢谢你的建议。我仍然没有完美的解决方案,但开发人员知道…:P