Scala で JavaFX の Canvas でテキストを表示する

昨日の記事 ではすでに存在する画像を表示したが、やりたいことは生成したテキストを画像にするということだったので、まずはテキストを表示できるようにする。
最終的には画像にしたいので、画像に変換できる Canvas を利用する。
コードはこんな感じ。

val c = new Canvas(300, 300)
val gc = c.getGraphicsContext2D
gc.setFill(Color.GRAY)
gc.setFont(Font.font("Hiragino Sans", 20))
gc.fillText("テキスト", 50, 50)
val root = new StackPane()
root.getChildren.add(c)
val scene = new Scene(root, 350, 350)
primaryStage.setTitle("test")
primaryStage.setScene(scene)
primaryStage.show()

このコードで下記のような実行結果になる。

実行結果
実行結果

参考

試行錯誤メモ

調べていたら WritableImage というもので画像を生成できると見かけたので最初は WritableImage で画像を表示してみたのだが、テキストを描画する方法がわからず、さらに調べていたら Canvas を発見したので Canvas を使用するようにした。

試行錯誤中に参考にしたもの

菅原 浩
Web プログラマー。好きな言葉は「安定的に不安定」。オーストラリアで英語を勉強した後に、現在デンマークで幸せについて考えている。
Next Post
Scala で JavaFX の Casvas の内容を画像として保存する
Previous Post
Scala で JavaFX を使って画像を表示する
Recent Posts
本「リモートチームでうまくいく」の感想
映画「Whiplash」の感想
Android の Chrome で通知の許可設定がタップできない
生きることが難しい
服を買うということ - 映画「The True Cost」の感想