2023-05-13
CustomPainterComponent
を使うとペインターで自由に描画するコンポーネントを作成できます。
まずはカスタムペインターを定義します。
class MyPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
final strokePaint = Paint()
..color = Colors.white
..style = PaintingStyle.stroke
..strokeWidth = 2;
canvas.drawRect(
const Rect.fromLTWH(-50, -50, 100, 100),
strokePaint,
);
canvas.drawLine(
const Offset(-50, -50),
const Offset(50, 50),
strokePaint,
);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) {
return false;
}
}
コンポーネントのpainter
オプションとして指定します。
await add(
CustomPainterComponent(
position: Vector2(size.x * 0.5, size.y * 0.5),
painter: MyPainter(),
),
);
今回はプレースホルダー画像のような斜め線入りの四角形を描画しています。
© 2023 tnantoka