1

使用 PHP 或任何其他网络工具,有没有一种方法可以将图像转换为数字表示,具体取决于其颜色。例如,如果我有 .jpg .tiff、.gif、.bmp 文件,我可以将该图像转换为仅包含数字的文件。这些数字中的每一个都对应一种颜色?任何帮助将不胜感激。

例如:

在此处输入图像描述

4

2 回答 2

2

使用PHP。以下示例假定它是 JPG 文件,但可以替换为其他文件类型。

<?php

$image = 'path/to/image.jpg';

$colorArray = array();

$im = imagecreatefromjpeg($image);
$width = imagesx($im);
$height = imagesy($im);

for($i=0;$i<$height;$i++) {

    for($j=0;$j<$width;$j++) {

        $color = imagecolorat($im, $j, $i);
        $color = imagecolorsforindex($im, $color);

        $colorArray[] = array('width' => $j, 'height' => $i, 'red' => $color['red'], 'green' => $color['green'], 'blue' => $color['blue'], 'alpha' => $color['alpha']);

    }

}

print_r( $colorArray );

?>
于 2013-06-08T00:55:06.033 回答
0

http://www.twoExponents4096.com

  • 您是说将整个图像索引为十进制数字吗?


Array = ctx.getImageData(0, 0, w, h).data;
  • 免费网站,无添加(不是专业网站)将小的 64x64 图像转换为索引,因此如果使用单色,小数点的长度将在 1 到 1,234 位之间。

  • 该网站的问题是:

  • 0001 <--机器
  • 1000 <--自然
  • 并且,图像是从左/上到右/端读取的事实。ASC 进行了不止一次尝试,并且混淆了样式功能留下了问题

CSS{ .rgba(0, 0, 0, 255?

)} 我丢球了。

r = Array[7];

其中“r”是介于零和 16,777,216 [24 位] 之间的某个数字,这不包括 alpha 通道,因为背景已经是平坦的。

  • 有人会给我一些动力来增强 4096 网站吗?

var linearAddress = 0;
var y = 0, x = 0;
for(x = 0; x < h; x++)
{
    for(y = 0; y < w; y++)
    {
        //completely backwards
        linearAddress++;
    }
}
于 2019-07-24T05:07:27.383 回答