Flutter: кадрировать файл (изображение) в виде круга
3 ответа
Решение
Эти простые действия дают желаемый результат.
Создайте PictureRecorder.
Создайте холст с помощью PictureRecorder.
Нарисуйте круг на холсте с помощью canvas.drawCircle().
Вызовите endRecording() на PictureRecorder, чтобы получить изображение.
Вызов метода toImage() на изображении.
Преобразуйте изображение в ByteData().
Сохраняйте изображение локально с помощью getApplicationDocumentsDirectory(), только если вы хотите сохранить.
Вы можете использовать BoxDecoration , чтобы обрезать изображение, которое будет отображаться на виджете.
Container(
width: 150,
height: 150,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.white,
image: DecorationImage(
fit: BoxFit.fill,
image: AssetImage('assets/image.jpeg'),
),
),
),
Используйте этот простой пакет обрезки изображений, который поддерживает обрезку самого файла.
Вы также можете обратиться к моему ответу о повороте изображений в файлах с помощью dart.