こんばんは〜
弊社ブログに辿り着いていただきありがとうございます!
株式会社メモリアインクのいちのです
この記事を読んでわかること
- CustomPaintについて
- 円形の描画
- 三角形の描画
- 四角形の描画
- 直線の描画
- 波線の描画
開発環境
- Dart 3.0.0
- Flutter 3.10.0
CustomPaintについて
CustomPaintウィジェットを使用することで、Flutterで自由にグラフィックを描画することができます。CustomPainterクラスを継承したクラスを作り、そこに描画ロジックを記述します。
円形の描画
概要
円形を描画するには、drawCircle
メソッドを使用します。以下にサンプルコードを示します。
サンプルコード
// 円を描画する
canvas.drawCircle(
Offset(100.0, 100.0), // 円の中心を指定する
50.0, // 円の半径を指定する
Paint()..color = Colors.blue, // 描画する円の色を青に設定する
);
サンプルコードの解説
- 3行目で円の中心点を
Offset
で指定しています。 - 4行目で円の半径を指定します。この例では50.0の半径を持つ円を描いています。
- 5行目で
Paint
オブジェクトを用いて、描画する円の色を設定しています。この例では青色で円を描きます。
表示確認
それでは、表示を確認してみましょ〜
三角形の描画
概要
三角形を描画するためには、drawPath
メソッドとPath
クラスを使用します。以下のコードは三角形を描画する方法を示しています。
サンプルコード
// 三角形を描画する
Path path = Path(); // Pathオブジェクトを生成する
path.moveTo(100.0, 100.0); // 描画開始点を設定する
path.lineTo(150.0, 200.0); // 一つ目の頂点への線を描画する
path.lineTo(50.0, 200.0); // 二つ目の頂点への線を描画する
path.close(); // パスを閉じることで、最初の点に戻る
canvas.drawPath(path, Paint()..color = Colors.green); // 三角形の色を緑に設定して描画する
サンプルコードの解説
- 2行目で
Path
オブジェクトを生成します。これを使って描画のパス(軌跡)を定義します。 - 3行目で
moveTo
メソッドを使用して、描画の開始点を指定します。 - 4行目と5行目で
lineTo
メソッドを使用して、三角形の頂点を指定し、線を描画します。 - 6行目で
path.close()
を呼び出すことにより、パスを閉じて三角形を完成させます。 - 7行目で三角形を描画します。ここでは色を緑に設定しています。
表示確認
それでは、表示を確認してみましょ〜
四角形の描画
概要
四角形の描画にはdrawRect
メソッドを使用します。以下に四角形を描画するサンプルコードを示します。
サンプルコード
// 四角形を描画する
canvas.drawRect(
Rect.fromLTWH(50.0, 100.0, 100.0, 150.0), // 四角形の位置とサイズを指定する
Paint()..color = Colors.red, // 描画する四角形の色を赤に設定する
);
サンプルコードの解説
- 3行目で
Rect.fromLTWH
を使用して、四角形の左上の点と幅、高さを指定します。 - 4行目で四角形の色を赤に設定します。
表示確認
それでは、表示を確認してみましょ〜
直線の描画
概要
直線を描画するにはdrawLine
メソッドを使用します。以下に直線を描画するサンプルコードを示します。
サンプルコード
// 直線を描画する
canvas.drawLine(
Offset(100.0, 100.0), // 開始点を指定する
Offset(200.0, 200.0), // 終了点を指定する
Paint()..color = Colors.black, // 描画する線の色を黒に設定する
);
サンプルコードの解説
- 3行目で線の開始点を指定します。
- 4行目で線の終了点を指定します。
- 5行目で線の色を黒に設定します。
表示確認
それでは、表示を確認してみましょ〜
波線の描画
概要
波線を描画するにはdrawPath
メソッドとPath
クラスを使い、波の形を定義します。以下に波線を描画するサンプルコードを示します。
サンプルコード
// 波線を描画する
Path path = Path(); // Pathオブジェクトを生成する
path.moveTo(0, 100); // 描画開始点を設定する
for (int i = 0; i < 10; i++) {
path.quadraticBezierTo(
i * 50 + 25, i % 2 == 0 ? 150 : 50, // 波の頂点を計算する
i * 50 + 50, 100, // 波の谷を計算する
);
}
canvas.drawPath(path, Paint()..color = Colors.blue); // 波線を青色で描画する
サンプルコードの解説
- 2行目でPathオブジェクトを生成し、描画のパスを定義します。
- 3行目で描画の開始点を指定します。
- 6行目と7行目で
quadraticBezierTo
メソッドを使用して、波の形を描きます。このメソッドはベジェ曲線を描くために使用されます。 - 10行目で定義したパスに沿って波線を描画します。ここでは色を青に設定しています。
表示確認
それでは、表示を確認してみましょ〜
まとめ
いかがでしたでしょうか?今回は、図形(CustomPaint)の作成方法からカスタマイズ方法について、サンプルコードを用いて解説してみました。読者様の開発の手助けに少しでもなればいいなと思いこの記事を書かせていただいております。弊社ではAndroid、iOS、Flutterを使ったアプリ開発についてのブログを多数投稿させていただいておりますので、ご興味のある方はぜひ!
自分の成長を加速させるチャンスがどこかにあるかもしれません。
変化を恐れずに新たな環境に飛び込む勇気のある方は、
未経験からIT・Webエンジニアを目指すなら【ユニゾンキャリア】
コメント