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

Метод rotate

Метод rotate класса Canvas поворачивает систему координат. Угол берут в радианах, поворот идёт по часовой стрелке в координатах холста. Уже нарисованное не крутится, сдвигаются только следующие команды.

Синтаксис

canvas.rotate(angle)

Параметры

Параметр Описание
angle Угол в радианах.

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(220, 100), painter: _RotatePainter(), ), ), ), ), ); } class _RotatePainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { canvas.translate(size.width / 2, size.height / 2); canvas.rotate(0.5); canvas.drawRect( Rect.fromCenter(center: Offset.zero, width: 80, height: 30), Paint()..color = Colors.blue); } @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: _RotatePainter2(), ), ), ), ), ); } class _RotatePainter2 extends CustomPainter { @override void paint(Canvas canvas, Size size) { canvas.translate(size.width / 2, size.height / 2); canvas.rotate(0.5); canvas.drawRect( Rect.fromCenter(center: Offset.zero, width: 80, height: 30), Paint()..color = Colors.blue); } @override bool shouldRepaint(covariant CustomPainter oldDelegate) => false; }

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

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

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