def -(other)
      case other
      when RGB
        rgb = compound_by(other.rgb) { |a, b| [a+b-255, 0].max }
        self.class.new *rgb
      else
        super
      end
    end
def -(other)
      case other
      when RGB
        rgb = compound_by(other.rgb) { |a, b| [a+b-255, 0].max }
        self.class.new *rgb
      else
        super
      end
    end
Color subtruction

 +other+ can be:
   RGB object: apply maximum compositing.
   Array of RGB values: each values added to each of RGBs.
   Integer: other number added to all of RGBs.