在我能将该图像写入文本文件之前,我必须将其转换为CCITT4格式的TIFF(它以前是jpeg)。为了确保这样做正确,我还将流保存为TIFF并在“AsTiffTagViewer”中查看它,这显示了压缩是正确的。我能够在正确的查看器中查看tiff;但是,当从文件中获取文本时,我无法查看图像。
以下是代码:
byte[] frontImage = (byte[])imageReader["front_image"];
MemoryStream frontMS = new MemoryStream(frontImage);
Image front = Image.FromStream(frontMS);
Bitmap frontBitmap = new Bitmap(front);
Bitmap bwFront = ConvertToBitonal(frontBitmap);
bwFront.SetResolution(200, 200);
MemoryStream newFrontMS = new MemoryStream();
bwFront.Save(newFrontMS, ici, ep);
bwFront.Save("c:\\Users\\aarong\\Desktop\\C#DepositFiles\\" + checkReader["image_id"].ToString() + "f.tiff", ici, ep);
frontImage = newFrontMS.ToArray();
String frontBinary = toASCII(frontImage);
private String toASCII(byte[] image)
{
String returnValue = "";
foreach (byte imageByte in image)
{
returnValue += Convert.ToChar(imageByte);
}
return returnValue;
}
正在写入的是frontBinary。有人知道哪里出了问题吗?保存的TIFF格式是正确的,但完全相同的字节数组,在写成ASCII文本时没有被正确地写入。
谢谢。
编辑 通过使用BinaryWriter(byte[])正确地将图像写入文本,该问题已得到解决。 感谢大家的帮助!