「Canvas における Path を手に入れた」
Android でひとつ覚えたのでメモ。
お天気屋さん予報というアプリでお天気マーク以外に線を引けるようにしていたのだけれど、当初どうやってよいかよくわからなかった。いや、Canvas の drawLine でひけるのはわかっていたのだけれど、使ってみたら線が細い。で、その頃はまだまだわかってなかったのもあっていったんやめてしまった。で、四角を連続して描画するようにしていたので、ゆっくり指を動かす分には困らなかったけれど、ちょっと早いと点線になってしまう。これはみっともないよなあと思っていた。
もちろん線の太さを指定して drawLine すればよかっただけの話なので、最近になってまずはフレームワーク側のメソッドに修正をおこなってやってみたのだった。ただ、これでもなんだかちょっと切れ切れな感じになってしまうことがある。どうやらポイントの情報が不連続になってしまうらしい。
で、調べていたら path というのがあるとか。始点と中継点を追加していき、その情報にそって線を描いてくれるということらしい。ということで変更してみるときれいな線が描けた。うん、これだな。ということでもろもろ修正。どうやら基本としては連続していくポイントの情報を持っているだけなので、それにそって文字を表示させたりということもできるそうで、それもまた面白いのかもと。
ということで、手順だけメモ。
Path path = new Path();
path.moveTo(startX, startY);
path.lineTo(x, y);
といった感じでポイントをセット。描画は、
canvas.drawPath(path, paint);
あとは、線の太さとか色とか、端を丸めるのかとかを paint 側であれこれ設定しておくと。
paint.setStrokeWidth(width);
paint.setStrokeCap(Paint.Cap.ROUND);
paint.setStrokeJoin(Paint.Join.ROUND);
とかとか。
ということで「お天気屋さん予報」を更新。あとは、線の色や太さを少し選べるようにしたらよいかもなあ、とは思っている。
| 固定リンク
コメント