首页 > 解决方案 > c#函数将二维数组转换为图像问题

问题描述

我做了这个功能:

  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#imagefunctionmatrixarguments

解决方案


问题是它intArrayToImage有一个整数数组(一维)作为参数,并且您传递了一个二维整数数组。

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

public Image TwoDimensionalArrayToImage(int[,] twoDimensionalArray)
{
    var binaryFormatter = new BinaryFormatter();
    using(var memoryStream = new MemoryStream())
    {
        binaryFormatter.Serialize(memoryStream, twoDimensionalArray);
        return Image.FromStream(memoryStream);
    }
}

推荐阅读