2017-10-21 4 views
0

Je vois de nombreuses applications mobiles ayant une fonctionnalité que l'utilisateur peut dessiner un carré pour indiquer quelque chose à marquer sur l'image.Comment dessiner un carré pour marquer un objet. (React Native)

Je construis Face Tagging app et utilisateur dessine essentiellement carré sur la limite du visage de l'homme sur l'image. Je l'ai googlé à plusieurs reprises, mais je ne suis pas sûr que RN a une bibliothèque de fonctionnalités pour le marquage.

Comment puis-je y parvenir? Y at-il une bonne bibliothèque à dessiner un carré sur l'image? Et ce sera encore mieux si je peux me souvenir de la largeur de ses coordonnées, sa hauteur et sa position du rectangle.

Toute idée ou suggestion sera grandement appréciée!

Voici un exemple ci-dessous

enter image description here

+0

C'est sooooo frustrant. Pas même un indice –

Répondre

1

Vous pouvez utiliser Native React bibliothèque ART pour dessiner des formes sur le dessus de l'image. C'est une bibliothèque standard qui est livrée avec React Native (bien qu'elle ne soit pas liée au binaire par défaut).

En ce qui concerne l'algorithme:

  • Render une image
  • superposition d'image avec React ART.Surface
  • les robinets Détecter Native pour obtenir les coordonnées + superposer le reste de l'image
  • Une fois que vous avez les coordonnées du appuyez sur, vous pouvez dessiner une forme que vous voulez
  • Arrêter de dessiner lorsque l'utilisateur retire son doigt (onPressOut événement)

Où aller d'ici:

+0

React.surface a l'air super mais il semble trop difficile à mettre en œuvre. :(Merci! –

1

Vous pouvez ajouter des enfants (dans votre cas, vue sur la place) à une balise d'image, de sorte que vous pouvez faire quelque chose comme

<Image src={...}> 
    <View 
    style={{ 
     position: 'absolute', 
     top: 120 
     left: 100, 
     height: 50, 
     width: 50, 
     borderWidth: 1 
    }} 
    /> 
</Image> 

Vous pouvez obtenir le un x d y coordonne avec l'API PanResponder au lieu de coder en dur les propriétés de style haut et à gauche

Edit: RN 50 = < Prise en charge supprimée du contenu imbriqué à l'intérieur, utilisez ImageBackground à la place

+0

Très cool J'ai trouvé la bibliothèque très utile: reac-native-gesture-responder –

+0

L'API PanResponder semble très utile sur ce projet –

+0

Lien mis à jour vers [ImageBackground] (https://facebook.github.io/react -native/docs/images.html # background-image-via-nesting) – Sagar