Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将二维阵列转换为一维阵列并输出图像。奇怪的结果_Javascript_Image_Math_Multidimensional Array - Fatal编程技术网

Javascript 将二维阵列转换为一维阵列并输出图像。奇怪的结果

Javascript 将二维阵列转换为一维阵列并输出图像。奇怪的结果,javascript,image,math,multidimensional-array,Javascript,Image,Math,Multidimensional Array,好的。所以我把一个2d像素矩阵转换成一个1d uint8clampedarray 课堂测试{ 构造函数(x,y){ 这个。宽度=x; 这个。高度=y; this.data=new uint8clampedaray(x*y*4) } convertMatrixToPixels(){ const IMAGE=Uint8ClampedArray.from(this.data) //将常规二维js数组转换为一维固定数组 让lastNum=-4;//4远离零 for(设y=0;y

好的。所以我把一个2d像素矩阵转换成一个1d uint8clampedarray


课堂测试{
构造函数(x,y){
这个。宽度=x;
这个。高度=y;
this.data=new uint8clampedaray(x*y*4)
}
convertMatrixToPixels(){
const IMAGE=Uint8ClampedArray.from(this.data)
//将常规二维js数组转换为一维固定数组
让lastNum=-4;//4远离零
for(设y=0;y
然而,当我执行这段代码时,我得到了一系列的条带。 [1] :,对不起(它很小…大的版本只会伤眼睛)

如果图像太小,垂直条带是每一个像素列-并在黑色,红色,绿色,蓝色的顺序。。。这是一个错误的线索。。。一定是算错了

所以我认为这是一种错误,我尝试重新安排迭代的顺序,位置计算的变化。。。但是没有骰子


我希望有一个完整的黑色图片,据我所知,我一次迭代4个像素,没有跳过任何。。。所以对我来说,我在哪只差一个有点神秘(如果这是错的话)

好吧。结果证明上面的代码是正确的,我使用了一个名为sharp的npm模块进行转换。将选项设置为3个通道而不是4个,(忘记了alpha),所以现在这就解释了漂移。我很困惑。但我相信上面的代码是正确的。因为在那次改变之后,它现在正在按预期工作