Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.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
C# &引用;输入数组不是有效的秩";使用CopyPIxels方法时出现错误消息_C# - Fatal编程技术网

C# &引用;输入数组不是有效的秩";使用CopyPIxels方法时出现错误消息

C# &引用;输入数组不是有效的秩";使用CopyPIxels方法时出现错误消息,c#,C#,我收到此错误消息输入数组不是有效的列组。参数名称:此行上的像素source.CopyPixels(结果,宽度*4,0) 有人知道问题出在哪里吗?BitmapSource.CopyPixels需要一维数组作为第一个参数。您正在传递一个二维数组 CopyPixels并没有实际提供一个“矩形”位数组,而是提供了一个连续的位数组——“跨距”指定位图一条扫描线的宽度,这意味着如果我理解正确,给定n位的跨距,位图的第二行从位n+1开始 有关STERID的解释,请参见此链接:该标题让我想起了“巴比是如何形成的

我收到此错误消息
输入数组不是有效的列组。参数名称:此行上的像素
source.CopyPixels(结果,宽度*4,0)


有人知道问题出在哪里吗?

BitmapSource.CopyPixels需要一维数组作为第一个参数。您正在传递一个二维数组

CopyPixels并没有实际提供一个“矩形”位数组,而是提供了一个连续的位数组——“跨距”指定位图一条扫描线的宽度,这意味着如果我理解正确,给定n位的跨距,位图的第二行从位n+1开始


有关STERID的解释,请参见此链接:

该标题让我想起了“巴比是如何形成的?”“巴比是如何形成的?”“巴比是如何形成的?”“巴比是如何形成的?”“巴比是如何形成的?”——有人知道这个问题可能是这个问题的延续:我不明白这不是一个真正的问题。“他发布了代码,并说了他犯了什么错误。”安德鲁同意。在清理完这个问题之后,没有理由关闭它。
[StructLayout(LayoutKind.Sequential)]
public struct PixelColor
{
 public byte Blue;
 public byte Green;
 public byte Red;
 public byte Alpha;
}

public PixelColor[,] GetPixels(BitmapSource source)
{
 if(source.PixelFormat!=PixelFormats.Bgra32)
 source = new FormatConvertedBitmap(source, PixelFormats.Bgra32, null, 0);

 int width = source.PixelWidth;
 int height = source.PixelHeight;
 PixelColor[,] result = new PixelColor[width, height];

 source.CopyPixels(result, width * 4, 0);
 return pixels;
}