グラフィックスの基本 2020/09/29 |
Viewを使ってカラフルな画面をつくることができます。とりあえずこんな描画をするにはどうするか?について解説します。
黒の縁取りに黄色で塗った円、黒の縁取りに緑塗った「閑」の文字。こんな表現が簡単にできてしまいます。昔Windowsでカラオケのソフトをつくりました。大変だったのは白抜き文字の作成と曲に合わせて白から緑に色が変わっていく処理でした。当時ネットに情報なし。どうやって実装したかというとマイクロソフトで年に2回質問ができるサービスにはいっていたので質問。 回答が来るまで2日くらい。回答はそっけなく「グリフを取得して対応できる」とのこと。簡単に説明するとグリフによってフォントの種類、大きさなどを指定して該当文字のビットマップを取得する。ビットマップに縁取りをつけてそれを表示する。大変でした。 Viewによる描画 ・オーバーライド onDraw(Canvas canvas)をオーバーライドしてここに描画するコードを書きます。 ・再描画 invaliate()で再描画します。onDraw(Canvas canvas)が実行されっます。 ・Canvasと Paintの使い方 Canvas直線を描け、円を描けなどの動作をしていします。 Paintは何色で、線の太さなどCanvasを補足する情報を設定します。 例: canvas.drawCircle(350, 640, 100,paint); ・FillとStroke 上図の右側の縁で、黒の縁取りがStroke,中の黄色で塗られた部分がFilllです。 閑の文字で、黒の縁取りがStroke,中の緑で塗られた部分がFilllです。 paintで指定します。 paint.setStyle(Paint.Style.STROKE); 以上、基本的なViewの使い方です。 ダウンロード MainActivity.java GraphicView.java |