anchor.diff:          Rect.fromLTWH(left, top, width.toDouble(), height.toDouble());
       final distRect = Rect.fromLTWH(0, 0, size.width, size.height);
       canvas.drawImageRect(image, srcRect, distRect, paint);
  -
  -//    final paint = Paint()
  -//      ..isAntiAlias = true
  -//      ..strokeWidth = 2.0
  -//      ..style = PaintingStyle.fill
  -//      ..color = Color(argbPixels.first)
  -//      ..invertColors = false;
  -
  -//    final double radius = gridSide / 2;
  -//    final int width = size.width ~/ gridSide;
  -//    final int height = size.height ~/ gridSide;
  -//
  -//    for (int j = 0; j < height; j++) {
  -//      for (int i = 0; i < width; i++) {
  -//        paint.color = Color(argbPixels[j * width + i]);
  -//        final double dx = (i + 1 / 2) * gridSide;
  -//        final double dy = (j + 1 / 2) * gridSide;
  -//        final Offset center = Offset(dx, dy);
  -//        final Rect rect = Rect.fromCircle(center: center, radius: radius);
  -//        canvas.drawRect(rect, paint);
  -//      }
  -//    }
     }
   
     @override
  
positive.code:     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 {
  
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会有耗时
  