1
私はこのコードを使って画像の最初のピクセルと最後のピクセルの16進色を取得しました。 最初のピクセルのコードが動作していますが、16進数のコードが表示されます。 は、しかし、最後のピクセルのために、私はエラーしました:ここに私のコードPHPは画像エラーの最後のピクセルで色を取得します
PHP Notice: imagecolorat(): 1,1024 is out of bounds in /var/playground/imghex.php on line 55
です:
$gradientHeight = getimagesize($res["gradient"]);
// get Positions
$im = imagecreatefrompng($res["gradient"]);
$rgb = imagecolorat($im, 0, 0);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
// store
$res["Gradient1"] = rgb2hex([$r, $g, $b]);
// get positions
print_r($gradientHeight);
$rgb2 = imagecolorat($im, $gradientHeight[0], $gradientHeight[1]);
$r2 = ($rgb2 >> 16) & 0xFF;
$g2 = ($rgb2 >> 8) & 0xFF;
$b2 = $rgb2 & 0xFF;
// store
$res["Gradient2"] = rgb2hex([$r2, $g2, $b2]);
// print
print_r($res);
間違っているのですか?私はあなたが0ベースのインデックスにサイズを使用しているので、あなたはその通知を参照して、エラー
@FirstOneで
を交換してください($イム、$ gradientHeight [0] - 1、$ gradientHeight [1]); '? 'PHP Notice:imagecolorat():0,1024が範囲外です ' –
解決済み、ありがとうございます':) '私はあなたをアップアップし、あなたの答えを有効として選択するように答えてください –