backdropHueRotate method

Widget backdropHueRotate(
  1. double degrees
)

backdrop-hue-rotate - 背景色相旋转

Implementation

Widget backdropHueRotate(double degrees) {
  final radians = degrees * 3.14159265359 / 180.0;
  final cos = math.cos(radians);
  final sin = math.sin(radians);
  final lumR = 0.213;
  final lumG = 0.715;
  final lumB = 0.072;
  return ColorFiltered(
    colorFilter: ColorFilter.matrix([
      lumR + cos * (1 - lumR) + sin * (-lumR), lumG + cos * (-lumG) + sin * (-lumG), lumB + cos * (-lumB) + sin * (1 - lumB), 0, 0,
      lumR + cos * (-lumR) + sin * (0.143), lumG + cos * (1 - lumG) + sin * (lumG), lumB + cos * (-lumB) + sin * (-0.283), 0, 0,
      lumR + cos * (-lumR) + sin * (-(1 - lumR)), lumG + cos * (-lumG) + sin * (lumG), lumB + cos * (1 - lumB) + sin * (lumB), 0, 0,
      0, 0, 0, 1, 0,
    ]),
    child: BackdropFilter(
      filter: ImageFilter.blur(sigmaX: 0, sigmaY: 0),
      child: build(),
    ),
  );
}