我是平面设计师,我经常制作网站。我正在寻找一个脚本(可能最终甚至是软件)找到一个匹配的照片颜色。这个页面的一个很好的例子是:https://unsplash.com/grid如果你的鼠标在图片上显示它显示匹配的颜色。这是我展示此问题的屏幕截图:https://dl.dropboxusercontent.com/u/65947165/qu1.png
答案 0 :(得分:1)
我会使用ImageMagick并通过将图像大小调整为1像素x 1像素并将该像素转换为文本来找到平均颜色,如下所示:
convert photo-1414637104192-f9ab9a0ee249.jpg -resize 1x1! -colorspace RGB txt:
# ImageMagick pixel enumeration: 1,1,255,rgb
0,0: (0,21,3) #001503 rgb(0,21,3)
所以rgb(0,21,3)是绿叶,你的例子中有一滴水。你可以像sRGB一样:
convert photo-1418479631014-8cbf89db3431.jpg -resize 1x1! txt:
# ImageMagick pixel enumeration: 1,1,255,srgb
0,0: (141,109,91) #8D6D5B srgb(141,109,91)
如果你想把它作为一个图像,你会这样做:
convert photo-1414637104192-f9ab9a0ee249.jpg -resize 1x1! -scale 1000 output.jpg
这是您的示例页面中的第一张图片......
我真的不会说PHP
,但这应该很接近:
<?php
$image = new Imagick('input.jpg');
$image->resizeImage(1,1,Imagick::FILTER_BOX,1);
$pixel = $image->getImagePixelColor(0,0);
print $pixel->getColorAsString();
$colors = $pixel->getColor();
print_r($colors);
?>
<强>输出强>
srgb(55.259%,42.2065%,34.9279%)Array
(
[r] => 141
[g] => 108
[b] => 89
[a] => 1
)