将文本文件转换为Tiff图像

时间:2014-07-30 07:30:32

标签: c# bytearray

我正在尝试将.txt文件的一部分转换为TIFF图像,如

public static void ReadTextFileLineByLine(string fileName)//fileName- "c:\\test.txt"
{
        int counter = 0;
        string line;
        List<string> linelist = new List<string>();            
        System.IO.StreamReader file =  new System.IO.StreamReader(strFileName);

        while ((line = file.ReadLine()) != null && counter!=19)
        {
            linelist.Add(line);
            counter++;
        }
        file.Close();
        ConvertlistToByteArrayToTiff(linelist);
    }

    public static void ConvertlistToByteArrayToTiff(List<string> list)
    {         
        byte[] dataAsBytes = list
          .SelectMany(s => System.Text.Encoding.ASCII.GetBytes(s))
          .ToArray();

        MemoryStream ms = new MemoryStream(dataAsBytes);
        Image returnImage = Image.FromStream(ms);
        returnImage.Save("c:\\133.tiff", System.Drawing.Imaging.ImageFormat.Tiff);        
    }

我在Image.FromStream(ms);收到错误:

  

参数无效。

我的方法是正确的还是我需要以不同的方式进行?

1 个答案:

答案 0 :(得分:1)

  

我的方法是否正确

  

或者我需要以不同的方式做到这一点?

您可以“打印”/绘制文字到图像。如下所示:https://stackoverflow.com/a/6311628/2655508

你的假设是,文本的tiffs(或任何其他图像)表示只是字符的ascii值是不正确的。

阅读关于Tiff的信息:http://en.wikipedia.org/wiki/Tagged_Image_File_Format

要了解Tiff的结构:请参阅RFC 2306