Я использую React-Native-View-Shot Library, чтобы сделать снимок экрана. всего экрана.
В документации упоминается, что метод captureScreen ():
captureScreen () захватит содержимое текущего отображаемого экрана как снимок экрана собственного оборудования. Для него не требуется ввод ссылки, так как он не работает на уровне представления. Это означает, что ScrollViews не будут захвачены полностью - только те части, которые в данный момент видны пользователю.
Однако снимок экрана не захватывает никаких компонентов, кроме предварительного просмотра камеры. Заявлено, что все используемые компоненты поддерживаются, как указано в таблице совместимости документации.
Код:
takeScreenshot() {
captureScreen({
format: "jpg",
quality: 0.8
}).then(
uri => { savePath = uri; console.log("Image saved to", uri); CameraRoll.saveToCameraRoll(uri); ToastAndroid.show(uri + "", ToastAndroid.SHORT); },
error => console.error("Oops, snapshot failed", error)
);
}
render() {
return (
<View style={styles.container}>
<Text style={{backgroundColor:"white"}}>Hello World</Text>
<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>
<Button title="Capture" onPress={()=>this.takeScreenshot()}/>
</View>
)
}
RNCamera - это компонент камеры из react-native-camera
На упомянутый вопрос тоже не было ответа
В чем может быть проблема? Почему компоненты тоже закрыты предварительным просмотром камеры?