8

Android用のGoogle Maps v2 APIを使用していますが、fillColorの透明度を制御できません。塗りつぶされたポリゴンの下にマップが表示されるようにしたいと考えています。それを行う方法はありますか?

助けてくれてありがとう!

4

3 に答える 3

18

さて、標準の 4 バイト カラーがどのようにエンコードされるかを説明しましょう。

標準のピクセル カラーは 4 バイトで構成されます。

  • A (アルファ チャネル) - 0 ~ 255 (0 - 完全に透明、255 - 完全に不透明)
  • R (赤色チャンネル) - 0-255
  • G (緑色チャンネル) - 0-255
  • B (青色チャンネル) - 0-255

各チャンネルは、特定の色部分の彩度を表します。したがって、完全に不透明な赤色を作成する必要がある場合は、次のチャネル値を指定する必要があります。

  • 255,255,0,0

半透明にしたい場合は、アルファチャンネル値を 2 で割る必要があります (255/2 = 127):

  • 127,255,0,0

それでは、アンドロイドに戻りましょう。Android では、ほとんどの場合、16 進数値を指定して色を指定できます。

polygon.setFillColor(0xFF00FF00); //not transparent green color

16 進数では、すべてのチャネルを 2 桁の 16 進数で指定できます。

  • あ(FF)
  • R(00)
  • G(FF)
  • ば(00)

この色を半透明にしたい場合はFF、2で割る必要があります。

0xFF/2 = 0x7F //the same as 255/2 = 127

polygon.setFillColor(0x7F00FF00); //half-transparent green color

基本的にあなたがする必要があるのは、あなたが探している透明度を得るためにアルファチャンネル値で​​遊ぶことです

于 2013-01-14T21:21:50.890 に答える
1

基本的に私のために働いたのは:

  polygon = mGoogleMap.addPolygon(new PolygonOptions().
        addAll(points)
            .fillColor(0x33FF0000)
             .strokeColor(Color.RED)
               .strokeWidth(3))
于 2019-05-02T07:03:56.860 に答える