我试图复制Dribbble.com检测图像中主要颜色的功能.在下图中,您可以看到Dribbble.com的屏幕截图,其中显示了左侧图像中的8种主要颜色.这是图片中的实际页面http://dribbble.com/shots/528033-Fresh-Easy?list=following
我需要能够在PHP中执行此操作,一旦我获得了我需要的颜色,我将它们保存到数据库中,因此不需要在每个页面加载时运行处理.
在对如何从图像中获取这些颜色的一些研究之后,有些人说你只是逐个像素地检查图像,然后保存最多出现的颜色.其他人说它还有更多,并且获得最常见的颜色不会产生预期的效果.他们说你需要量化图像/颜色(此时我迷失了).
在下面的图像中,下面的Dribble镜头是一个Javascript库,可以执行相同的操作,可以在此处查看该页面http://lokeshdhakar.com/projects/color-thief/
查看该页面的来源,我可以看到有一个名为Javascript的文件quantize.js,结果非常好.所以我希望能够使用PHP和GD/ImageMagick来完成Javascript库的功能

我发现这个函数将使用PHP返回颜色和计数,但结果与上面的Javascript版本和Dribble结果不同
/**
* Returns the colors of the image in an array, ordered in descending order, where the keys are the colors, and the values are the count of the color.
*
* @return array
*/
function Get_Color()
{
if (isset($this->image))
{
$PREVIEW_WIDTH = 150; //WE HAVE TO RESIZE THE IMAGE, BECAUSE WE ONLY NEED THE MOST SIGNIFICANT COLORS.
$PREVIEW_HEIGHT = 150;
$size = GetImageSize($this->image);
$scale=1;
if ($size[0]>0)
$scale = min($PREVIEW_WIDTH/$size[0], …Run Code Online (Sandbox Code Playgroud) 如何在PHP中检测图像的前2种颜色?
例如,我有这个图像:

此功能/过程将返回:0000FF或蓝色和FFFF00或黄色
谢谢
从网站下载图像后,我需要检测下载图像的颜色.我成功下载了图像,但我需要检测相应图像的颜色,并将其保存在相应颜色的名称中.使用的代码是如下所示.告诉我如何从当前位置实现它.
imageurl='http://www.example.com/'
opener1 = urllib2.build_opener()
page1=opener1.open(imageurl)
my_picture=page1.read()
fout = open('images/tony'+image[s], "wb")
fout.write(my_picture)
fout.close()
Run Code Online (Sandbox Code Playgroud) 我想在div或表格中显示图像作为背景.如果它们的图像不够大,我将需要找到该图像的最外层颜色并将其应用于包含div或表格单元格的背景.
有任何人对此有经验吗?在PHP中.我是菜鸟,所以请解释一下.非常感谢
这是否可以在WordPress中使用PHP.
基本上,如果我的网站中有一个名为"promos"的目录,由1到多个图像组成(因为这些图像可以更改),我想从PHP文件中读取到轮播设置,即类似于此的内容:
<div class="scrollable" id="browsable">
<div class="items">
<?php
$tot_images_from_promo_dir = [get_total_image_count_in_promos_dir];
for ( $counter = 1; $counter <= $tot_images_from_promo_dir; $counter ++) {
echo "<div>";
echo "<a href="#"><img src="[image_from_promo_directory]" /></a>
echo "</div>";
}
?>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
希望以上是有道理的,但基本上想用某种方式用php读取我的促销目录中的图像总量,然后在我的循环最大值中使用这个总数并读取促销目录中的每个图像文件名并传入我的
非常感谢php语法来做到这一点.
谢谢.