Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
284 of 1024 menu
◀ ▶

Метод drawLine

Метод drawLine класса Canvas рисует отрезок между двумя точками. Оба конца это точки Offset. Цвет и толщина берутся из Paint.

Синтаксис

canvas.drawLine(Offset(0, 0), Offset(100, 50), paint)

Параметры

Параметр Описание
p1 Начало отрезка, точка Offset.
p2 Конец отрезка, точка Offset.
paint Кисть Paint. Из неё берутся цвет, толщина и то, заливка это или контур.

Пример

Давайте вызовем drawLine на CustomPaint:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(220, 100), painter: _DrawLinePainter(), ), ), ), ), ); } class _DrawLinePainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { final paint = Paint()..color = Colors.red..strokeWidth = 4; canvas.drawLine(Offset(16, size.height / 2), Offset(size.width - 16, size.height / 2), paint); } @override bool shouldRepaint(covariant CustomPainter oldDelegate) => false; }

На экране виден результат рисования на холсте.

Пример

Давайте повторим рисунок в области побольше:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(280, 120), painter: _DrawLinePainter2(), ), ), ), ), ); } class _DrawLinePainter2 extends CustomPainter { @override void paint(Canvas canvas, Size size) { final paint = Paint()..color = Colors.red..strokeWidth = 4; canvas.drawLine(Offset(16, size.height / 2), Offset(size.width - 16, size.height / 2), paint); } @override bool shouldRepaint(covariant CustomPainter oldDelegate) => false; }

На экране та же фигура в более широком CustomPaint.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить