This commit is contained in:
toly
2023-12-16 12:40:32 +08:00
parent ab2778a22b
commit 01fdf966c5
593 changed files with 8995 additions and 27753 deletions

1
assets/draw/p01/p01.dart Normal file
View File

@@ -0,0 +1 @@
export 'p01_page.dart';

View File

@@ -0,0 +1,20 @@
import 'package:flutter/material.dart';
import 'package:flutter/src/gestures/events.dart';
import 'package:idraw/components/demo_shower.dart';
import 's01.dart' as s1;
import 's02.dart' as s2;
class P01Page extends StatelessWidget {
const P01Page({super.key});
@override
Widget build(BuildContext context) {
return const DemoShower(
srcCodeDir: 'draw/p01',
demos: [
s1.Paper(),
s2.Paper(),
],
);
}
}

29
assets/draw/p01/s01.dart Normal file
View File

@@ -0,0 +1,29 @@
import 'package:flutter/material.dart';
class Paper extends StatelessWidget {
const Paper({super.key});
@override
Widget build(BuildContext context) {
return Container(
color: Colors.white,
child: CustomPaint( // 使用CustomPaint
painter: PaperPainter(),
),
);
}
}
class PaperPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
// 创建画笔
final Paint paint = Paint();
// 绘制圆
canvas.drawCircle(Offset(100, 100), 10, paint);
}
@override
bool shouldRepaint(CustomPainter oldDelegate) => false;
}

40
assets/draw/p01/s02.dart Normal file
View File

@@ -0,0 +1,40 @@
import 'package:flutter/material.dart';
class Paper extends StatelessWidget {
const Paper({super.key});
@override
Widget build(BuildContext context) {
return Container(
color: Colors.white,
child: CustomPaint( // 使用CustomPaint
painter: PaperPainter(),
),
);
}
}
class PaperPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
// 创建画笔
final Paint paint = Paint();
paint
..color = Colors.blue //颜色
..strokeWidth = 4 //线宽
..style = PaintingStyle.stroke; //模式--线型
//绘制线
canvas.drawLine(Offset(0, 0), Offset(100, 100), paint);
Path path = Path();
path.moveTo(100, 100);
path.lineTo(200, 0);
canvas.drawPath(path, paint..color = Colors.red);
}
void drawLine(Canvas canvas) {}
@override
bool shouldRepaint(CustomPainter oldDelegate) => false;
}