React native React Native(Android)中的屏幕截图

React native React Native(Android)中的屏幕截图,react-native,screenshot,react-native-android,react-native-camera,React Native,Screenshot,React Native Android,React Native Camera,我正在使用截图对整个屏幕进行截图 文档中提到captureScreen()方法: captureScreen()将当前显示屏幕的内容捕获为本机硬件屏幕截图。它不需要ref输入,因为它不在视图级别工作。这意味着不会完整地捕获滚动视图-只捕获用户当前可见的部分 但是,屏幕截图不会捕获除相机预览之外的任何组件。所使用的所有组件均声称受支持,如文档的互操作性表所示 代码: takeScreenshot(){ 捕获屏幕({ 格式:“jpg”, 质量:0.8 }).那么( uri=>{savePath=ur

我正在使用截图对整个屏幕进行截图

文档中提到captureScreen()方法:

captureScreen()将当前显示屏幕的内容捕获为本机硬件屏幕截图。它不需要ref输入,因为它不在视图级别工作。这意味着不会完整地捕获滚动视图-只捕获用户当前可见的部分

但是,屏幕截图不会捕获除相机预览之外的任何组件。所使用的所有组件均声称受支持,如文档的互操作性表所示

代码:

takeScreenshot(){
捕获屏幕({
格式:“jpg”,
质量:0.8
}).那么(
uri=>{savePath=uri;console.log(“图像保存到”,uri);CameraRoll.saveToCameraRoll(uri);ToastAndroid.show(uri+”,ToastAndroid.SHORT);},
error=>console.error(“Oops,快照失败”,error)
);
}
render(){
返回(
你好,世界
{
this.camera=ref;
}}
类型={RNCamera.Constants.type.back}
flashMode={RNCamera.Constants.flashMode.on}
permissionDialogTitle={'Permission to use camera'}
permissionDialogMessage={“我们需要您的许可才能使用您的照相手机”}>
this.takeScreenshot()}/>
)
}
RNCamera是来自的摄影机组件

也没有回答

可能是什么问题?为什么相机预览也覆盖了组件?

从“react native view shot”导入ViewShot;
import ViewShot from "react-native-view-shot";

<ViewShot ref="viewShot" options={{ format: "jpg", quality: 0.9 
     }}>
<View style={styles.container} ref='snapViewPic'>
     <RNCamera style={styles.preview}
            ref={ref => {
                this.camera = ref;
            }}
            type={RNCamera.Constants.Type.back}
            flashMode={RNCamera.Constants.FlashMode.on}
            permissionDialogTitle={'Permission to use camera'}
            permissionDialogMessage={'We need your permission to 
             use your camera phone'}>
        </RNCamera>
 </View>
</ViewShot>

takeScreenShot () {
    this.refs.viewShot.capture().then(uri => {
     console.log("do something with ", uri);
    });
}
{ this.camera=ref; }} 类型={RNCamera.Constants.type.back} flashMode={RNCamera.Constants.flashMode.on} permissionDialogTitle={'Permission to use camera'} permissionDialogMessage={' 使用照相手机“}> 截图(){ this.refs.viewShot.capture()。然后(uri=>{ log(“使用”,uri做点什么); }); }
确保您的“捕获按钮”和“hello world”不在“容器”视图中

这对我有用