我想從圖像中獲取RGB值的數組。例如。 (2 X 2 PIX例子。)PHP - JPEG圖像到RGB值陣列
[[[R, G, B], [R, G, B]], [[R, G, B], [R, G, B]]]
我現在有代碼:
<?php
// open an image
$image = imagecreatefromjpeg('image.jpg'); // imagecreatefromjpeg/png/
// get image dimension, define colour array
$width = imagesx($image);
$height = imagesy($image);
$colors = [];
for ($y = 0; $y < $height; $y++)
{
for ($x = 0; $x < $width; $x++)
{
$rgb = imagecolorat($image, $x, $y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
}
}
print_r($colors);
?>
上述不工作。 我現在的形象僅僅是一個2×2 PIX JPEG應該輸出:
[[[0, 255, 0], [255, 0, 0]], [[0, 0, 255], [255, 255, 255]]]
任何幫助,不勝感激!
您不向''顏色'數組添加'$ r $ g $ b' ......我會從那裏開始。 '$ colors [] = array($ r,$ g,$ b);' – cmorrissey
你忘了把$ r,$ g和$ b放到你的$ colors數組中嗎?我沒有看到你在上面的代碼中做了什麼。 – Will
是的。謝謝,已添加。現在只需要輸出「Array()」。 – Tom