2016-10-19 14 views
1

私はこのように曲線required outputを描きたいと思います。しかし、私はこのcurrent outputのように出力 を得ています。ここで青色は背景です&曲線は赤色です。ここに私のコード。 すなわち:アンドロイドで曲線を描く方法

for (i = 10; i <= 360; i = i + 10) { 
    new_x = i; 
    new_y = (float) Math.sin(new_x/180.0 * Math.PI); 

    canvas.drawLine((float) (old_x/360.0 * w), 100 + 90 * old_y, (float) (new_x/360.0 * w), 100 + 90 * new_y, paint); 

    old_x = new_x; 
    old_y = new_y; 
} 
+0

はこれを試してhttp://stackoverflow.com/questions/11131954/how-to-draw-arc-between-two-on-the-canvas –

+0

point1.xとは何かを教えてください。 – kashyap

+0

特定の点のxとyの値を含むPointクラス。 –

答えて

0

代わりdrawlineたびに呼び出すので、drawPathを使用する方が最適かもしれません。その後

Path path = new Path(); 
boolean first = true; 
for (i = 10; i <= 360; i = i + 10) { 
    new_x = i; 
    new_y = (float) Math.sin(new_x/180.0 * Math.PI); 


    if (first) { 
     first = false; 
     path.moveTo(new_x, new_y); 
    } 
    else{ 
     path.lineTo(new_x, new_y); 
    } 
} 
canvas.drawPath(path, paint); 

それを滑らかにするために途中でポイントのため、代わりにlineToのquadToを使用しよう:https://developer.android.com/reference/android/graphics/Path.html#quadTo(float、フロート、フロート、フロート)

関連する問題