从图像中读取像素,并使用PHP在浏览器中随机显示单个像素

时间:2012-11-23 13:21:49

标签: pixel php-gd

我有一个保存在数据库中的图像。我需要一个可以读取此图像每个像素的RGB + x和y值的脚本。

这是必需的,因为我希望能够在浏览器中显示此图像的随机像素。随机我的意思是随机位置。用表格选择像素数。使用表单时,将在浏览器中显示图像的多个像素,并保存此新图像。下次使用表单时,将在浏览器中显示可见几个像素的新图像。等等....每次使用表单时,图像都会越来越明显。

我使用PHP GD库进行了一些测试,但无法提取RGB以及每个像素的位置。为了输出RGBA值的数组,我使用了这个how to count number of pixels in image (php)。但是如你所见,这只是一个开始。

$img = "images/test.png";
$imgHand = imagecreatefrompng("$img");
$imgSize = GetImageSize($img);
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];


// Define a new array to store the info
$pxlCorArr= array();

for ($l = 0; $l < $imgHeight; $l++) {
    // Start a new "row" in the array for each row of the image.
    $pxlCorArr[$l] = array();

    for ($c = 0; $c < $imgWidth; $c++) {
        $pxlCor = ImageColorAt($imgHand,$c,$l);

        // Put each pixel's info in the array
        $pxlCorArr[$l][$c] = ImageColorsForIndex($imgHand, $pxlCor);
    }
}   

1 个答案:

答案 0 :(得分:1)

您想要显示部分图像然后显示完整图像吗?或其随机部分?

看看这个,

https://github.com/ogres/Image2HTML

它会将图像转换为html表格,您可以对其进行编辑,以便只显示图像的随机部分