anchor.diff:      int b = argbColor & 0xFF;
       return (argbColor & 0xFF00FF00) | (b << 16) | r;
     }
  -
  -//  void _calculateMatrix4() {
  -//    if (_position == null) {
  -//      return;
  -//    }
  -//
  -//    setState(() {
  -//      final double newX = _position.dx;
  -//      final double newY = _position.dy;
  -//
  -//      final Matrix4 updatedMatrix = Matrix4.identity()
  -//        ..scale(_scale, _scale)
  -//        ..translate(-newX, -newY);
  -//
  -//      _matrix = updatedMatrix;
  -//    });
  -//  }
  -
  -//  Widget _buildMagnifier(BuildContext context) {
  -//    return ClipOval(
  -//      child: BackdropFilter(
  -//        filter: ui.ImageFilter.matrix(_matrix.storage,
  -//            filterQuality: FilterQuality.high),
  -//        child: CustomPaint(
  -//          painter: ColorPickerPainter(),
  -//          size: Size.fromRadius(_radius),
  -//        ),
  -//      ),
  -//    );
  -//  }
  -
   }
   
   class GridsPainter extends CustomPainter {
  
positive.code:       return _imageUint8List;
      }
  
  //    final start = DateTime.now();
      final RenderRepaintBoundary boundary =
          _findCurrentPageRepaintBoundaryRenderObject();
  //    final finded = DateTime.now();
      final Uint8List imageData = await _boundaryToImageUint8List(boundary);
      _imageUint8List = imageData;
  //    final end = DateTime.now();
  //    print(
  //        '获取repaintBoundary耗时：${finded.millisecondsSinceEpoch - start.millisecondsSinceEpoch}ms');
  //    print(
  //        '获取Uint8List耗时：${end.millisecondsSinceEpoch - finded.millisecondsSinceEpoch}ms');
  
      return _imageUint8List;
    }
  
negative.code:     );
    }
  
    Future<void> _updateImage() async {
      _imageUint8List = null;
      final imageData = await imageUint8List;
      if (imageData == null) {
        return;
      }
      _image = images.decodeImage(imageData);
      final codec = await ui.instantiateImageCodec(imageData);
      final info = await codec.getNextFrame();
      ColorPickerKit.instance.snapshot.value = info.image;
      if (!_ready && mounted) {
        // 第一次获取Image会有耗时
  