100) { throw new Exception\InvalidArgumentException('Gray must be between 0 and 100'); } $this->gray = (int) $gray; } /** * Returns the gray value. * * @return integer */ public function getGray() { return $this->gray; } /** * toRgb(): defined by ColorInterface. * * @see ColorInterface::toRgb() * @return Rgb */ public function toRgb() { return new Rgb($this->gray * 2.55, $this->gray * 2.55, $this->gray * 2.55); } /** * toCmyk(): defined by ColorInterface. * * @see ColorInterface::toCmyk() * @return Cmyk */ public function toCmyk() { return new Cmyk(0, 0, 0, 100 - $this->gray); } /** * toGray(): defined by ColorInterface. * * @see ColorInterface::toGray() * @return Gray */ public function toGray() { return $this; } }