2016-05-13 11 views
2

私はカラー配列を作成する方法を使用していますが、SKPolylineは目的のピンク色の代わりに白です。SKPolyline setColorが正しい色を表示しない

public static float[] getPinkColorArray() { 
     float[] colorArray = new float[4]; 
     colorArray[0] = 249f; 
     colorArray[1] = 1f; 
     colorArray[2] = 148f; 
     colorArray[3] = 255f; 

     return colorArray; 
    } 

私はその後、polyline.setColor(floatArray);を使用して、それは白いポリラインを作成します。ここでは、コードです。値255、0、0、255を使用すると、赤い線(正しい)が得られます。

tl; dr:値が赤:249、緑:1、青色:148、アルファなしのSKPolylineのピンクの浮動小数点配列を作成するにはどうすればよいですか?私は、関数1Fを使用

答えて

4
SKPolyline polyline = new SKPolyline(); 
    // set the nodes on the polyline 
    nodes = new ArrayList<SKCoordinate>(); 
    nodes.add(new SKCoordinate(-122.4342, 37.7898)); 
    nodes.add(new SKCoordinate(-122.4141, 37.7898)); 
    nodes.add(new SKCoordinate(-122.4342, 37.7753)); 
    polyline.setNodes(nodes); 
    // set polyline color 
    polyline.setColor(new float[]{0.976470588f, 0.003921569f, 0.580392157f, 1f}); 

    polyline.setLineSize(10); 
    polyline.setIdentifier(12); 
    mapView.addPolyline(polyline); 

= 255、その後0.976470588f = 249 enter image description here

+0

はどうもありがとうございました。 setColor(float [] array)メソッドを適切に使用していることを示すドキュメントの例がありますか?私はそれを見つけることができませんでした – HaydenKai

+1

私はドキュメントがありません:配列は、4つの値を含む必要があります:R、G、Bとアルファ。すべての値は0(0)から1(255)になります。したがって、0〜255の範囲の値を0〜1の範囲に変換する場合は、次の式を使用します。myFloatValue = my0_255Value * 1/255。 0(完全に透明)から1(完全に不透明) – Ando

関連する問題