From 97a0edb982b2e4035f7386cdbc46d52a993e26e7 Mon Sep 17 00:00:00 2001 From: toly <1981462002@qq.com> Date: Sun, 7 May 2023 08:09:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8D=95=E7=BB=98=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/paper/paper.dart | 73 +++++++++++++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 18 deletions(-) diff --git a/lib/paper/paper.dart b/lib/paper/paper.dart index 866fc7b..768977b 100644 --- a/lib/paper/paper.dart +++ b/lib/paper/paper.dart @@ -1,8 +1,8 @@ +import 'dart:math'; import 'dart:ui'; import 'package:flutter/material.dart'; - import 'paper_app_bar.dart'; class Paper extends StatefulWidget { @@ -16,7 +16,9 @@ class _PaperState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: PaperAppBar(onClear: _clear,), + appBar: PaperAppBar( + onClear: _clear, + ), body: CustomPaint( painter: PaperPainter(), child: ConstrainedBox(constraints: const BoxConstraints.expand()), @@ -24,28 +26,63 @@ class _PaperState extends State { ); } - void _clear() { - - } + void _clear() {} } -class PaperPainter extends CustomPainter{ - +class PaperPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { - List points = const [ - Offset(100,100), - Offset(100,150), - Offset(150,150), - Offset(200,100), - ]; - + // List points = const [ + // Offset(100,100), + // Offset(100,150), + // Offset(150,150), + // Offset(200,100), + // ]; + // + // paint.strokeWidth = 10; + // + // paint.strokeCap = StrokeCap.round; + // + // + // canvas.drawPoints(PointMode.polygon, points , paint); + // canvas.translate(0, 150); Paint paint = Paint(); - paint.strokeWidth = 10; - canvas.drawPoints(PointMode.polygon, points , paint); + + canvas.drawCircle(Offset(100, 100), 50, paint); + paint.style = PaintingStyle.stroke; + canvas.drawCircle(Offset(250, 100), 50, paint); + canvas.translate(0, 150); + + paint.strokeWidth = 2; + Rect rect = Rect.fromCenter(center: Offset(100, 100), width: 100, height: 80); + canvas.drawRect(rect, paint); + paint.style = PaintingStyle.fill; + RRect rrect = RRect.fromRectXY(rect.translate(150, 0), 8, 8); + canvas.drawRRect(rrect, paint); + + canvas.translate(0, 150); + paint.strokeWidth = 2; + Rect overRect = Rect.fromCenter(center: Offset(100, 100), width: 100, height: 80); + canvas.drawOval(overRect, paint); + paint.style = PaintingStyle.stroke; + canvas.drawArc(overRect.translate(150, 0), 0, pi*1.3,true,paint); + // RRect rrect = RRect.fromRectXY(rect.translate(150, 0), 8, 8); + // canvas.drawRRect(rrect, paint); + + + // paint.style = PaintingStyle.stroke; + // canvas.drawCircle(Offset(250, 100), 50, paint); + + // paint.color = Colors.red; + // paint.style = PaintingStyle.stroke; + // paint.strokeJoin = StrokeJoin.round; + // canvas.drawPoints(PointMode.polygon, points , paint); + // canvas.translate(0, 150); + // + // paint.color = Colors.blue; + // canvas.drawPoints(PointMode.polygon, points , paint); } @override bool shouldRepaint(covariant CustomPainter oldDelegate) => true; - -} \ No newline at end of file +}