Как я могу получить высоту предварительного просмотра камеры?
С помощью response -native-camera (RNCamera) я пытаюсь установить правильную высоту предварительного просмотра камеры, когда предварительный просмотр занимает всю ширину окна, а полный предварительный просмотр виден. Этот вопрос предполагает, что устройство постоянно находится в портретном режиме.
Мой код выглядит следующим образом:
import React, { Component } from "react";
import { Dimensions, Button, View } from "react-native";
import { RNCamera } from "react-native-camera";
export default class CameraScreen extends Component {
static navigationOptions = {
header: null
};
render() {
return (
<View>
<RNCamera
ref={ref => {
this.camera = ref;
}}
style={{
width: Dimensions.get("window").width,
height: 400 // <-- need to know what this value actually is
}}
type={RNCamera.Constants.Type.back}
/>
<Button
title="This button should appear directly below the camera preview"
onPress={() => false}
/>
</View>
);
}
});
Я уверен, что это как-то связано с getSupportedRatiosAsync()
Однако это возвращает несколько соотношений. Кто-нибудь может помочь?
1 ответ
Сначала вы должны выбрать, какое соотношение вы хотите использовать.
4:3, 1:1, 16: 9 и т. Д.
Ваш рост может быть рассчитан с вашим соотношением и шириной.
соотношение = высота: ширина (для реагировать-нативная камера)
Итак, давайте попробуем вычислить высоту для соотношения 4:3 и ширины 480 пикселей.
var height = 4*width/3; //for portrait mode 3:4
Если вы хотите добиться полной производительности для портрета, используйте "flex:1".
Вы можете получить более подробную информацию в документации о реагирующих камерах #ratio