c#功能将2D数组转换为图像问题

问题描述 投票:0回答:1

我做了这个功能:

  public Image intArrayToImage(int[] inputarray)
    {
        MemoryStream ms = new MemoryStream(inputarray);
        Image returnImage = Image.FromStream(ms);
        return returnImage;
    }

并在主要功能:

Color[,] finalarray= new Color[1600, 1600];
finalarray = intingArrayToImage(grayscale_map));

其中grayscale_map是一个二维数组“grayscale_map [1600x1600]”

但是有一个像这样的错误:

CS1503 C#参数1:无法从'int [*,*]'转换为'int []'

我该怎么办...

c# image function matrix arguments
1个回答
1
投票

问题是intArrayToImage作为参数有一个整数数组(一维),你传递一个二维整数数组。

您可以重新声明您的方法,intArrayToImage如下:

public Image TwoDimensionalArrayToImage(int[,] twoDimensionalArray)
{
    var binaryFormatter = new BinaryFormatter();
    using(var memoryStream = new MemoryStream())
    {
        binaryFormatter.Serialize(memoryStream, twoDimensionalArray);
        return Image.FromStream(memoryStream);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.