Flutter 원으로 피라미드 그리기 (flutter Draw a Pyramid with Circles)공부방/Flutter2023. 6. 23. 16:35
Table of Contents
그냥 아무 이유 없이 도형 그리기
구현 코드
import 'package:flutter/material.dart';
class CirclePyramidPainter extends CustomPainter {
final int pyramidSize;
final double baseRadius;
CirclePyramidPainter({required this.pyramidSize, required this.baseRadius});
@override
void paint(Canvas canvas, Size size) {
final paint = Paint()..color = Colors.blue;
for (int level = 0; level < pyramidSize; level++) {
final levelOffset = (pyramidSize - level - 1) * (baseRadius *2) + (level * (baseRadius/3.7));
for (int index = 0; index <= level; index++) {
final xPos = size.width / 2 - (level * (baseRadius)) + (index * (baseRadius*2));
final yPos = size.height - levelOffset;
final center = Offset(xPos, yPos);
canvas.drawCircle(center, baseRadius, paint);
}
}
}
@override
bool shouldRepaint(CustomPainter oldDelegate) => false;
}
실행 코드
Container(
width: 900,
height: 900,
child: Center(
child: CustomPaint(
painter: CirclePyramidPainter(
pyramidSize: 5, // 피라미드의 층수 조정
baseRadius: 20.0, // 기본 원의 반지름 조정
),
),
)
)
결과 화면
반응형
'공부방 > Flutter' 카테고리의 다른 글
Flutter web build command (0) | 2023.07.04 |
---|---|
Flutter 그려진 모든 원들이 연결 되도록 만들기 (Make all drawn circles connect) (0) | 2023.06.23 |
dart extends, implements, with, mixin, abstract 키워드 정리 (0) | 2023.03.28 |
Bloc vs Cubit (0) | 2023.03.27 |
Flutter Bloc 필수적으로 사용하는 위젯 (0) | 2023.03.23 |
@soycrab :: 꿀맛코딩
행복한 코딩을 위하여!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!