そこで、インターネットからスクリプトをダウンロードして編集し、画像を取得して、そこに含まれる16進値とそのパーセンテージを調べました。
スクリプトはここにあります:
<?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へのペーストビンリンクです
これで、サーバー上にある画像を使用する場合、たとえばGet_Color関数で/image.pngを使用する場合、スクリプトは完全に正常に機能します。ただし、http://www.site.com/image.pngを含む別のWebサイトの画像を使用しようとすると、スクリプトが機能しなくなり、次のエラーが表示されます。
警告:22行目の...のforeach()に無効な引数が指定されました
これがスクリプトを使用するすべてのポイントだったので、私が画像にホットリンクできる方法を誰かが見ることができますか?