operator & method Null safety

Image operator &(
  1. Image other
)

AND the colors of other with the pixels of this image.

Implementation

Image operator &(Image other) {
  final h = min(height, other.height);
  final w = min(width, other.width);
  for (var y = 0; y < h; ++y) {
    for (var x = 0; x < w; ++x) {
      final c1 = getPixel(x, y);
      final r1 = getRed(c1);
      final g1 = getGreen(c1);
      final b1 = getBlue(c1);
      final a1 = getAlpha(c1);

      final c2 = other.getPixel(x, y);
      final r2 = getRed(c2);
      final g2 = getGreen(c2);
      final b2 = getBlue(c2);
      final a2 = getAlpha(c2);

      setPixel(x, y, getColor(r1 & r2, g1 & g2, b1 & b2, a1 & a2));
    }
  }
  return this;
}