idci/color-scheme-bundle

Symfony ColorSchemeBundle

安装数: 11,910

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 7

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master 2013-08-11 10:57 UTC

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