简体   繁体   English

c#函数将二维数组转换为图像问题

[英]c# Function Converting 2D Array to Image Problem

I Made this Function: 我做了这个功能:

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

And in the main function: 并在主要功能中:

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

where grayscale_map is a 2d array "grayscale_map[1600x1600]" 其中grayscale_map是2d数组“ grayscale_map [1600x1600]”

But There is an error like this: 但是有这样的错误:

CS1503 C# Argument 1: cannot convert from 'int[ *, * ]' to 'int[ ]' CS1503 C#参数1:无法从'int [*,*]'转换为'int []'

What should i do... 我该怎么办...

The problem is that intArrayToImage has as an argument an array of integers (one dimensional) and you pass a two dimensional array of integers. 问题在于intArrayToImage具有一个整数数组(一维)作为参数,并且您传递了一个二维整数数组。

You could re-declare your method, intArrayToImage as below: 您可以重新声明您的方法intArrayToImage ,如下所示:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM