示例#1
0
 /**
  * Return a color 10% points *darker*
  *
  * @param ILess_Node $color
  * @param ILess_Node
  * @return string
  * @throws InvalidArgumentException If the node is invalid
  */
 public function darken(ILess_Node $color, ILess_Node_Dimension $percentage = null)
 {
     // this is a keyword
     if ($color instanceof ILess_Node_Keyword && ILess_Color::isNamedColor($color->value)) {
         $color = new ILess_Node_Color(ILess_Color::color($color->value));
     }
     if (!$color instanceof ILess_Node_Color) {
         throw new InvalidArgumentException('Cannot darken the color. Invalid color given.');
     }
     $percentage = $percentage ? $percentage->value / 100 : 10;
     $lightness = $this->clamp($color->getLightness(true) - $percentage);
     return $this->hsla($color->getHue(true), $color->getSaturation(true), $lightness, $color->getAlpha(true));
 }
示例#2
0
文件: Color.php 项目: poef/ariadne
 /**
  * Creates new color from the keyword
  *
  * @param string $keyword
  * @return ILess_Color
  */
 public static function fromKeyword($keyword)
 {
     $color = null;
     // is this named color?
     if (self::isNamedColor($keyword)) {
         $color = new ILess_Color(substr(ILess_Color::color($keyword), 1));
         $color->keyword = $keyword;
     } elseif ($keyword === 'transparent') {
         $color = new ILess_Color(array(255, 255, 255), 0);
         $color->isTransparentKeyword = true;
     }
     return $color;
 }