drawLine() でアルファグラデーションを使用して彗星を描画しようとしましたが、この画像のように線が完全に接続されません。
http://s14.postimg.org/y5w6pgl6p/Screenshot_2013_07_09_16_14_21.png
パスは、S 字または C または (動き続ける) のようなものである可能性があります。
このコードを使用して:
paint.setStrokeJoin(Paint.Join.BEVEL);
paint.setStrokeWidth(20);
paint.setShader(new LinearGradient(100,200,150,200, 0x00ffff00,0x44ffff00, Shader.TileMode.CLAMP));
canvas.drawLine(100, 200, 150, 200, paint);
paint.setShader(new LinearGradient(150,200,200,220, 0x44ffff00,0x88ffff00, Shader.TileMode.CLAMP));
canvas.drawLine(150, 200, 200, 220, paint);
paint.setShader(new LinearGradient(200, 220, 230, 230, 0x88ffff00, 0xccffff00, Shader.TileMode.CLAMP));
canvas.drawLine(200, 220, 230, 260, paint);
paint.setShader(new LinearGradient(230, 230, 230, 280, 0xccffff00, 0xffffff00, Shader.TileMode.CLAMP));
canvas.drawLine(230,260,230,310,paint);
setStrokeJoin() は drawLine/s では役に立ちませんでした
線をパスに変換しましたが、グラデーションがパス全体で曲線を描いていませんでした
また、線の代わりに図形を描画して、それらの間の空白を埋めますが、アニメーション化された線を描画するには多くの時間と CPU が必要でした。
他のアイデアはありますか?