Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

310
Visualizações
Obtenga el tamaño de la imagen resizeMode en React Native sin depender de onLayout

Tengo una imagen que estoy importando a mi aplicación a través de la cámara o el carrete de la cámara.

Esa imagen se muestra dentro de una vista, pero puede ser vertical, horizontal, sin embargo. Para lograr esto utilizo los siguientes estilos, en la <Image>

 style={{flex:1 , width: undefined, height: undefined, resizeMode: 'contain'}} source={{ uri: image }} onLayout={(event) => { const { x, y, width, height } = event.nativeEvent.layout; }} />

Estoy intentando superponer algún texto (sobre cualquier texto en la imagen). Puedo hacer esto en función de las coordenadas X e Y de la vista en la que se encuentra la imagen, pero como la imagen en sí es un objetivo en movimiento, necesito saber el ancho y el alto de la imagen. Esto me permitirá calcular dónde deberían estar mis coordenadas, teniendo en cuenta el tamaño de la vista contenedora y el tamaño de la imagen dentro de ella para determinar dónde deberían comenzar mi X e Y.

Mi problema es que tengo datos de API que regresan y tengo este evento onLayout, que devuelve información en diferentes puntos. ¿Hay alguna forma de que pueda escribir una función a la que pueda llamar a voluntad para averiguar el tamaño de una vista o imagen?

¿Posiblemente convirtiéndolo en un componente y llamándolo cuando sea necesario o algo así? ¿O cambiar las cosas y llamar a una función desde mi onLayout y esperar los datos de la API?

Soy bastante nuevo en React Native, así que me disculpo por mi poca comprensión de los ciclos de vida y los datos asincrónicos.

Editar: en realidad parece que tengo un problema con esa línea dentro de onLayout. Cualquiera que sea la imagen que seleccione, paisaje o retrato, devuelve el mismo tamaño ... Supongo que esto debe ser debido a cómo funciona el contenido de resizeMode. La imagen es en realidad de tamaño completo, pero se muestra para que quepa dentro. Entonces, necesito descubrir cómo obtener el tamaño de la imagen mostrada dentro de 'contain' <Image> , o encontrar otra forma de hacerlo sin usar resizeMode container.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda