2016-12-23 28 views
1

アルファチャンネルのの.png形式の画像があります。クリックできるようにしたいと思います。クリックは、実際の画像がクリックされた場合(アルファの背景ではない)にのみ検出されます。アルファでネイティブのクリック可能な画像に反応します

<TouchableHighlight onPress={this.imgClick}> 
     <Image 
      source={this.img1} 
     /> 
</TouchableHighlight> 

enter image description here

、私はこれらの要素

のクリッカブル円を作成するには、ご協力いただきありがとうございます、私はあなたにメリーXマスを望みます!

+0

トリミングイメージはオプションですか?画像を投稿できますか? –

+0

これは必須です - クリック可能な画像ボタンで構成されるロゼッタ – kapuchaster

答えて

1

画像のどこでクリックされたのかを検出し、画像にメタデータを付けて、非アルファ境界にあることを検出することができます。

imgClick = ({nativeEvent: {locationX, locationY}}) => { 
    if (ImageService.inBounds(image, locationX, locationY)) { 
     // do your event handling here 
    } 
} 

ImageServiceは、画像ごとにメタデータとロジックが格納される場所です。多分ポリゴンアルゴリズムの単純な点がほしいでしょう。

https://en.wikipedia.org/wiki/Point_in_polygon

関連する問題