ghero / laravel-dominant-color
一个生成给定图像主色编码为base64的GIF的包(用于懒加载)
v1.0
2016-12-12 21:44 UTC
Requires
- php: >=5.4.0
- ext-imagick: *
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支持