|
@@ -197,8 +197,10 @@ class ShellImageFeature extends TraceFeature {
|
|
|
ShellImageFeature(AreaItemAbstract refItem) : super(refItem);
|
|
|
|
|
|
List<DPoint> outerExterPoints = [];
|
|
|
+ List<DPoint> interExterPoints = [];
|
|
|
+ bool isNeedPaintColors = false;
|
|
|
|
|
|
- /// 绘制灌注图
|
|
|
+ /// 绘制rim 外环
|
|
|
@override
|
|
|
void paint(Canvas canvas, Size size) {
|
|
|
super.paint(canvas, size);
|
|
@@ -211,6 +213,43 @@ class ShellImageFeature extends TraceFeature {
|
|
|
}).toList();
|
|
|
|
|
|
canvas.drawDashPointsLine(pixelPoints, 1, 10, paintLinePan, close: true);
|
|
|
+ if (isNeedPaintColors) {
|
|
|
+ final inPixelPoints = interExterPoints
|
|
|
+ .map((e) => convert2ViewPoint(size, e).toOffset())
|
|
|
+ .toList();
|
|
|
+ // 创建一个蓝色带透明度的Paint对象,用于填充区域
|
|
|
+ Paint outPaint = Paint()
|
|
|
+ ..color = const Color(0xFF2897ea).withOpacity(0.5)
|
|
|
+ ..style = PaintingStyle.fill;
|
|
|
+
|
|
|
+ // 创建一个蓝色带透明度的Paint对象,用于填充区域
|
|
|
+ Paint innerPaint = Paint()
|
|
|
+ ..color = const Color(0xFF57ED26).withOpacity(0.5)
|
|
|
+ ..style = PaintingStyle.fill;
|
|
|
+ // 创建Path并连接点
|
|
|
+ Path path = Path();
|
|
|
+ Path pathb = Path();
|
|
|
+ if (pixelPoints.isNotEmpty) {
|
|
|
+ path.moveTo(pixelPoints[0].dx, pixelPoints[0].dy);
|
|
|
+ for (var point in pixelPoints) {
|
|
|
+ path.lineTo(point.dx, point.dy);
|
|
|
+ }
|
|
|
+ path.close(); // 闭合路径
|
|
|
+ }
|
|
|
+ if (inPixelPoints.isNotEmpty) {
|
|
|
+ pathb.moveTo(inPixelPoints[0].dx, inPixelPoints[0].dy);
|
|
|
+ for (var point in inPixelPoints) {
|
|
|
+ pathb.lineTo(point.dx, point.dy);
|
|
|
+ }
|
|
|
+ pathb.close(); // 闭合路径
|
|
|
+ }
|
|
|
+
|
|
|
+ // 绘制路径
|
|
|
+ canvas.drawPath(path, outPaint);
|
|
|
+
|
|
|
+ // 绘制路径
|
|
|
+ canvas.drawPath(pathb, innerPaint);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|