idci / color-scheme-bundle
Symfony ColorSchemeBundle
dev-master
2013-08-11 10:57 UTC
Requires
- php: >=5.3.2
- symfony/framework-bundle: >=2.0
- twig/twig: *
Suggests
- idci/exporter-bundle: dev-master
This package is auto-updated.
Last update: 2024-08-24 20:11:20 UTC
README
Symfony2 颜色方案包
安装
要安装此包,请按照以下步骤操作
首先将依赖项添加到您的composer.json
文件中
"require": { ... "idci/color-scheme-bundle": "dev-master", "idci/exporter-bundle": "dev-master", // This bundle is not required },
然后使用以下命令安装包
php composer update
在您的应用程序内核中启用包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new IDCI\Bundle\ColorSchemeBundle\IDCIColorSchemeBundle(), new IDCI\Bundle\ExporterBundle\IDCIExporterBundle(), // This bundle is not required ); }
现在包已安装。
颜色对象
此包提供了一种颜色对象,允许您轻松管理颜色转换。
以下是一个示例
<?php ... use IDCI\Bundle\ColorSchemeBundle\Model\Color; ... $color = new Color('red'); $hexColor = $color->toHex(); // Transform your Color object to a ColorRGBHexadecimal object $hexColor->getRed(); // Return the red composant in hexadecimal format (here: FF) $hexColor->getGreen(); // Return the green composant in hexadecimal format (here: 00) $hexColor->getBlue(); // Return the blue composant in hexadecimal format (here: 00) $hexColor->__toString(); // Return the color in hexadecimal format (here: #FF0000)
您可以使用颜色名称(如以下示例所示)创建一个Color对象。但您也可以这样做
十六进制颜色值
$color = new Color('#FF0000');
十进制颜色值
$color = new Color('255,0,0');
HSL(色调、饱和度、亮度)颜色值
$color = new Color('0%,0,100');
并将它们转换为其他格式:toHex()、toDec()、toHsl()和toStr()。
如何使用
使用此包有两种方式。第一种,您只想使用给定方法将一个Color转换为另一个
这样调用转换器服务
<?php ... use IDCI\Bundle\ColorSchemeBundle\Model\Color; ... $lighten = $this->get('color_scheme_transformer.ligthen')->transform(new Color('red')); $darken = $this->get('color_scheme_transformer.darken')->transform(new Color('red')); $complement = $this->get('color_scheme_transformer.complement')->transform(new Color('red')); $triad = $this->get('color_scheme_transformer.triad')->transform(new Color('red'));
第二种,您想对一个或多个颜色应用多个转换器
只需调用'color_scheme.manager'服务并添加您的颜色转换器
$this ->get('color_scheme.manager') ->fromColors(array('#00FF00', 'yellow', '127,127,0')) ->addColorTransformer($this->get('color_scheme_transformer.ligthen')) ->addColorTransformer($this->get('color_scheme_transformer.darken')) ->addColorTransformer($this->get('color_scheme_transformer.complement')) ->generate() ;
转换器参数
根据所选转换器,您可以指定一些参数。例如,如果您想调亮颜色,可能您希望调整调亮值。
因此,在这种情况下,您可以在转换器服务上调用setLightnessVary
方法。
$this->get('color_scheme_transformer.ligthen')->setLightnessVary(30); // Default value is 10
以下是根据使用的转换器可以调用的一些方法列表
color_scheme_transformer.ligthen
- setLightnessVary
color_scheme_transformer.darken
- setLightnessVary
color_scheme_transformer.complement
- none
color_scheme_transformer.triad
- setHueVary
创建您自己的ColorTransformer
//TODO