美文网首页
Flutter-Canvas对象

Flutter-Canvas对象

作者: 阿博聊编程 | 来源:发表于2022-06-27 09:22 被阅读0次
配图来自网络,如侵必删

Flutter自定义开发中,我们会接触到Canvas对象,这个对象是作为自定义画布的。这篇博客分享Canvas相关的知识,希望对你有所启发。

Canvas绘制方法

使用给定的Paint对象绘制两点之间的直线。

drawLine(Offset p1,Offset p2,Paint paint);

绘制固定半径的圆形:

drawCircle(Offset c,double radius,Paint paint);

绘制给定的路径:

drawPath(Path path,Paint paint);

绘制长方形:

drawRect(Rect rect,Paint paint);

移动画笔,默认情况下是从(0,0)开始的:

moveTo(double x,double y);

Canvas使用示例

import 'dart:math';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class MyCustomPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    var paint = Paint()
      ..color = Colors.red
      ..style = PaintingStyle.stroke
      ..strokeWidth = 8.0
      ..strokeCap = StrokeCap.round;

    canvas.drawLine(
        const Offset(0.0, 0.0), Offset(size.width, size.height), paint);
    canvas.drawCircle(Offset(size.width / 2, size.height / 2),
        sqrt(pow(size.width, 2) + pow(size.width, 2) / 2), paint);
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) {
    return false;
  }
}

这个是画一个禁止标志,大概的使用就是这个样子。

相关文章

网友评论

      本文标题:Flutter-Canvas对象

      本文链接:https://www.haomeiwen.com/subject/paynvrtx.html