anchor.diff:      for (Rect tileRect in _generateImageTileRects(rect, destinationRect, repeat))
         canvas.drawImageNine(image, centerSlice, tileRect, paint);
     }
  +  if (repeat != ImageRepeat.noRepeat)
  +    canvas.restore();
   }
   
   /// A background image for a box.
  
positive.code:     // as we apply a nine-patch stretch.
      assert(sourceSize == inputSize);
    }
    Paint paint = new Paint()..isAntiAlias = false;
    if (colorFilter != null)
      paint.colorFilter = colorFilter;
  
negative.code:   double dy = (outputSize.height - destinationSize.height) * (alignY ?? 0.5);
    Point destinationPosition = rect.topLeft + new Offset(dx, dy);
    Rect destinationRect = destinationPosition & destinationSize;
    if (repeat != ImageRepeat.noRepeat) {
      canvas.save();
      canvas.clipRect(rect);
    }
    if (centerSlice == null) {
      Rect sourceRect = Point.origin & sourceSize;
      for (Rect tileRect in _generateImageTileRects(rect, destinationRect, repeat))
  