Как я могу получить высоту предварительного просмотра камеры? - PullRequest
0 голосов
/ 12 декабря 2018

Используя act-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 Ответ

0 голосов
/ 12 декабря 2018

Сначала вы должны выбрать, какое соотношение вы хотите использовать.

4: 3, 1: 1, 16: 9 и т. Д.

Ваш рост может быть рассчитан с вашим соотношением иширина.

коэффициент = высота: ширина (для реагирующей камеры)

Итак, давайте попробуем вычислить высоту для формата 4: 3 и ширины 480 пикселей.

var height = 4*width/3; //for portrait mode 3:4

Если вы хотите добиться полной производительности при портретной съемке, вам следует использовать 'flex: 1'.

Более подробную информацию вы можете получить в response-native-camera document # ratio

...