pentagon...

rO_Or·2024년 6월 17일

Dart 그리고 Flutter

목록 보기
17/19

import 'dart:math';

import 'package:flutter/material.dart';

class PentagonPainter extends CustomPainter {
  
  void paint(Canvas canvas, Size size) {
    final paint = Paint()
      ..color = Colors.black
      ..strokeWidth = 1
      ..style = PaintingStyle.stroke;

    final path = Path();
    final center = Offset(size.width / 2, size.height / 2);
    final radius = min(size.width / 2, size.height / 2);
    const angle = (2 * pi) / 5;

    path.moveTo(
        center.dx + radius * cos(-pi / 2), center.dy + radius * sin(-pi / 2));

    for (int i = 1; i <= 5; i++) {
      path.lineTo(center.dx + radius * cos(angle * i - pi / 2),
          center.dy + radius * sin(angle * i - pi / 2));
    }
    path.close();
    canvas.drawPath(path, paint);
  }

  
  bool shouldRepaint(covariant CustomPainter oldDelegate) {
    return false;
  }
}
profile
즐거워지고 싶다.

0개의 댓글