public function offsetSet($offset, $color) { $color = Color::get($color); if (!$color instanceof ColorInterface) { throw new RuntimeException("The color you passed to PaletteTrait->offsetSet() is not valid"); } if ($offset === null) { $this->colors[] = $color; } else { $this->colors[$offset] = $color; } }
public function testFunctionStringConversion() { $c = Color::get('hsl(50%, 50%, 100%)')->getHsl(); $this->assertEquals(180, $c->getHue()); $c = Color::get('hsl(-180, 50%, 100%)')->getHsl(); $this->assertEquals(180, $c->getHue()); $c = Color::get('hsl(-150%, 50%, 100%)')->getHsl(); $this->assertEquals(180, $c->getHue()); $c = Color::get('hsl(150%, 50%, 100%)')->getHsl(); $this->assertEquals(180, $c->getHue()); $this->assertEquals(0.5, $c->getSaturation()); $this->assertEquals(1.0, $c->getLightness()); $c = Color::get('rgb(34.23%, 20%, 120)')->getRgb(); $this->assertEquals(87, $c->getRed()); $this->assertEquals(51, $c->getGreen()); $this->assertEquals(120, $c->getBlue()); $c = Color::get('hsla(0.872664626rad, .4, 90%, 22.3%)')->getHsla(); $this->assertEquals(50, $c->getHue()); $this->assertEquals(0.4, $c->getSaturation()); $this->assertEquals(0.9, $c->getLightness()); $this->assertEquals(0.223, $c->getAlpha()); }
/** * SchemeBase constructor. * @param ColorInterface|string|int $baseColor */ public function __construct($baseColor) { $this->baseColor = Color::get($baseColor); $colors = iterator_to_array($this->generate($this->baseColor)); parent::__construct($colors, count($colors)); }
/** * @param mixed $value * * @return ColorInterface */ function color_get($value) { return Color::get($value); }