flutter 绘制图片 并简单裁切

228 阅读1分钟

加载图片并生成Image对象

var cup1Data = await rootBundle.load(Assets.imagesCup1);
Image cup1 = await decodeImageFromList(Uint8List.view(cup1Data.buffer));

通过Canvas绘制图片到指定区域

Rect src = Rect.fromLTWH(
    0, 0, cup1!.width.toDouble(), cup1!.height.toDouble());
canvas.drawImageRect(
    cup1!, src, const Rect.fromLTWH(100, 100, 100 , 100), UI.Paint());

如果需要裁切 可以通过clipRect限制绘制区域

canvas.clipRect(Rect.fromLTRB(100, 200 - 100 * percent, 200, 200));