Php 颜色提取脚本-ForEach错误
因此,我从互联网上下载并编辑了一个脚本,以提取图像并找出其中包含的十六进制值及其百分比: 脚本如下:Php 颜色提取脚本-ForEach错误,php,foreach,Php,Foreach,因此,我从互联网上下载并编辑了一个脚本,以提取图像并找出其中包含的十六进制值及其百分比: 脚本如下: <?php $delta = 5; $reduce_brightness = true; $reduce_gradients = true; $num_results = 5; include_once("colors.inc.php"); $ex=new GetMostCommonColors(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD
<?php
$delta = 5;
$reduce_brightness = true;
$reduce_gradients = true;
$num_results = 5;
include_once("colors.inc.php");
$ex=new GetMostCommonColors();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Colour Verification</title>
</head>
<body>
<div id="wrap">
<img src="http://www.image.come/image.png" alt="test image" />
<?php
$colors=$ex->Get_Color("http://www.image.come/image.png", $num_results, $reduce_brightness, $reduce_gradients, $delta);
$success = true;
foreach ( $colors as $hex => $count ) {
if ($hex !== 'e6af23') {$success = false; }
if ($hex == 'e6af23' && $count > 0.05) {$success = true; break;}
}
if ($success == true) { echo "This is the correct colour. Success!"; } else { echo "This is NOT the correct colour. Failure!"; }
?>
</div>
</body>
</html>
颜色验证
下面是指向文件colors.inc.php的pastebin链接
现在,如果我使用服务器上的一个图像,那么脚本工作得非常好,例如在Get_Color函数中使用/image.png。但是,如果我尝试使用来自另一个网站的图像(包括),则脚本将不再工作,并出现以下错误:
警告:为中的foreach()提供的参数无效。。。第22行
有人能看到一种方式,我将能够热链接到图像,因为这是使用脚本的全部要点 该错误表明,
Get\u Color
返回的值不是可以迭代的有效对象,可能不是集合。您需要知道Get_Color
如何在内部工作,以及当它没有得到想要的东西时返回什么
同时,您可以从外部url下载[使用PHP]图像到您的站点,并将其下载到所需的文件夹中,然后从那里读取图像
$image = "http://www.image.come/image.png";
download($image, 'folderName'); //your custom function
dnld_image_name = getNameOfImage();
$colors=$ex->Get_Color("/foldername/dnld_image_name.png");
顺便问一下,您确认图像url是否正确了吗?该错误表明由
Get\u Color
返回的值不是可以迭代的有效对象,可能不是集合。您需要知道Get_Color
如何在内部工作,以及当它没有得到想要的东西时返回什么
同时,您可以从外部url下载[使用PHP]图像到您的站点,并将其下载到所需的文件夹中,然后从那里读取图像
$image = "http://www.image.come/image.png";
download($image, 'folderName'); //your custom function
dnld_image_name = getNameOfImage();
$colors=$ex->Get_Color("/foldername/dnld_image_name.png");
顺便问一下,您确认图像url正确吗?您必须将文件下载到服务器,并将其完整文件名作为
$img
参数传递给方法Get\u Color($img)
因此,您需要研究另一个So问题:您必须将文件下载到服务器,并将其完整文件名作为
$img
参数传递给方法Get\u Color($img)
因此,您需要研究另一个So问题:您不能先下载图像吗?问题是,它根据输入的用户名从服务器上动态提取图像,然后根据颜色检查提取的图像是否包含特定图像。有没有办法将抓取的图像下载到我可以链接到的文件夹中?你不能先下载图像吗?关键是它会根据输入的用户名从服务器上动态提取图像,然后根据颜色检查提取的图像是否包含某个图像。有没有办法让这些抓取的图片下载到一个文件夹,然后我可以链接到?我不知道这是否会在我的情况下工作。我试图保存的图像没有文件扩展名,因为它是生成的图像。示例:这样我就可以让脚本将一个normal.png图像保存到一个文件夹中,这样就可以了,但是我如何才能将上面的图像保存为.png呢?最后使用这种方法将每个图像下载到服务器:)我不确定这在我的情况下是否有效。我试图保存的图像没有文件扩展名,因为它是生成的图像。示例:这样我就可以让脚本将normal.png图像保存到文件夹中,这是可行的,但我如何将上面的图像保存为.png?最终使用这种方法将每个图像下载到服务器:)我如何将其用于这样的文件:我需要保存在该页面上生成的图像。我认为您的响应是二进制的,因此您必须以二进制文件并保存到文件中。u
fopen
和其他文件api应该能够帮助我如何将其用于这样的文件:我需要保存在该页面上生成的图像。在这里,我认为您的响应是二进制的,因此您必须将内容作为二进制文件保存到文件中。ufopen
和其他文件api应该可以帮忙