예제 #1
0
 /**
  * class constructor.
  * @param mixed $value
  * @return SassColour
  */
 public function __construct($value)
 {
     $this->value = $this->getComponents($value);
     if (empty(self::$_svgColours)) {
         self::$_svgColours = array_flip(self::$svgColours);
     }
 }
예제 #2
0
 /**
  * Converts the colour to a string.
  * @param boolean whether to use CSS3 SVG1.0 colour names
  * @return string the colour as a named colour, rgba(r,g,g,a) or #rrggbb
  */
 public function toString($css3 = true)
 {
     $rgba = $this->getRgba();
     foreach ($rgba as $k => $v) {
         if (is_object($v)) {
             $rgba[$k] = $v->value;
         }
     }
     if ($rgba[3] == 0) {
         return 'transparent';
     } elseif ($rgba[3] < 1) {
         $rgba[3] = round($rgba[3], 2);
         return sprintf('rgba(%d, %d, %d, %s)', $rgba[0], $rgba[1], $rgba[2], $rgba[3]);
     } else {
         $colour = sprintf('#%02x%02x%02x', round($rgba[0]), round($rgba[1]), round($rgba[2]));
     }
     if ($css3) {
         if (empty(self::$_svgColours)) {
             self::$_svgColours = array_flip(self::$svgColours);
         }
         return array_key_exists($colour, self::$_svgColours) ? self::$_svgColours[$colour] : $colour;
     } else {
         return array_key_exists($colour, self::$_html4Colours) ? self::$_html4Colours[$colour] : $colour;
     }
 }
예제 #3
0
 /**
  * Converts the colour to a string.
  * @param boolean whether to use CSS3 SVG1.0 colour names
  * @return string the colour as a named colour, rgba(r,g,g,a) or #rrggbb
  */
 public function toString($css3 = false)
 {
     $rgba = $this->rgba;
     if ($rgba[3] == 0) {
         return 'transparent';
     } elseif ($rgba[3] < 1) {
         return sprintf('rgba(%d,%d,%d,%1.2f)', $rgba[0], $rgba[1], $rgba[2], $rgba[3]);
     } else {
         $colour = sprintf('#%02x%02x%02x', $rgba[0], $rgba[1], $rgba[2]);
     }
     if ($css3) {
         if (empty(self::$_svgColours)) {
             self::$_svgColours = array_flip(self::$svgColours);
         }
         return array_key_exists($colour, self::$svgColours) ? self::$_svgColours[$colour] : $colour;
     } else {
         return array_key_exists($colour, self::$_html4Colours) ? self::$_html4Colours[$colour] : $colour;
     }
 }