ghero/laravel-dominant-color

一个生成给定图像主色编码为base64的GIF的包(用于懒加载)

v1.0 2016-12-12 21:44 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:20:05 UTC


README

一个生成给定图像主色编码为base64的GIF的包(用于懒加载)

需要php Imagik库才能工作!

安装

通过composer要求包

composer require ghero/laravel-dominant-color

config/app.php中包含服务提供者在你的提供者中。

'providers' => [
    ...
    Ghero\DominantColor\DominantColorServiceProvider::class,
    ...    
];

接下来,将类别名添加到config/app.php的别名数组中。

'aliases' => [
    ...
    'DominantColor' => Ghero\DominantColor\Facades\DominantColor::class,
    ...    
];

使用方法

只需调用DominantColor::create($file);,传递一个图像的有效URL或Imagick实例

这将生成一个包含base 64编码的1x1 GIF的字符串(例如 data:image/gif;base64,R0lGODlhAQABAIABAI2JggAAACwAAAAAAQABAAACAkQBADs=)这个GIF只有一种颜色,即图像的主色

然后你可以轻松地将这个字符串设置为src属性,指定所需的宽度和高度

<img src='data:image/gif;base64,R0lGODlhAQABAIABAI2JggAAACwAAAAAAQABAAACAkQBADs=' width='200' height='200'/>

其他可用方法

获取颜色

您还可以使用$color = DominantColor::setColor($file)->getColor();仅获取主色的十六进制代码。默认输出将是一个不带开头"#"的纯十六进制代码。您可以自定义输出,通过传递可选参数到getColor方法:可用的输出

  • "hex": 输出完整的十六进制代码(例如 #FFFFFF
  • "rgb": 输出RGB格式字符串(例如 255,255,255
  • "array": 输出RGB格式作为数组(例如 ['r' => 255, 'g' => 255, 'b' => 255]

获取GIF

要从十六进制代码获取base 64编码的GIF,只需使用$gif = DominantColor::setGif($color)->getGif()

待办事项

  • 添加GD和Gmagick支持