简单绘制
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
|
import 'dart:math';
|
||||||
import 'dart:ui';
|
import 'dart:ui';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
|
||||||
import 'paper_app_bar.dart';
|
import 'paper_app_bar.dart';
|
||||||
|
|
||||||
class Paper extends StatefulWidget {
|
class Paper extends StatefulWidget {
|
||||||
@@ -16,7 +16,9 @@ class _PaperState extends State<Paper> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: PaperAppBar(onClear: _clear,),
|
appBar: PaperAppBar(
|
||||||
|
onClear: _clear,
|
||||||
|
),
|
||||||
body: CustomPaint(
|
body: CustomPaint(
|
||||||
painter: PaperPainter(),
|
painter: PaperPainter(),
|
||||||
child: ConstrainedBox(constraints: const BoxConstraints.expand()),
|
child: ConstrainedBox(constraints: const BoxConstraints.expand()),
|
||||||
@@ -24,28 +26,63 @@ class _PaperState extends State<Paper> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _clear() {
|
void _clear() {}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class PaperPainter extends CustomPainter{
|
class PaperPainter extends CustomPainter {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void paint(Canvas canvas, Size size) {
|
void paint(Canvas canvas, Size size) {
|
||||||
List<Offset> points = const [
|
// List<Offset> points = const [
|
||||||
Offset(100,100),
|
// Offset(100,100),
|
||||||
Offset(100,150),
|
// Offset(100,150),
|
||||||
Offset(150,150),
|
// Offset(150,150),
|
||||||
Offset(200,100),
|
// Offset(200,100),
|
||||||
];
|
// ];
|
||||||
|
//
|
||||||
|
// paint.strokeWidth = 10;
|
||||||
|
//
|
||||||
|
// paint.strokeCap = StrokeCap.round;
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// canvas.drawPoints(PointMode.polygon, points , paint);
|
||||||
|
// canvas.translate(0, 150);
|
||||||
Paint paint = Paint();
|
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
|
@override
|
||||||
bool shouldRepaint(covariant CustomPainter oldDelegate) => true;
|
bool shouldRepaint(covariant CustomPainter oldDelegate) => true;
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user