2
我收到使用CCITTFaxDecode壓縮的圖像。所以我使用Bit Miracle的LibTiff.Net來將圖像轉換爲任何格式。如何使用位奇蹟LibTiff.Net將圖像寫入到一個MemoryStream
我需要將解壓縮的圖像寫入MemoryStream
。我使用的代碼例如由另一個線程,我能夠使用此代碼
using BitMiracle.LibTiff.Classic;
...
MemoryStream ms = new MemoryStream();
TiffStream stm = new TiffStream();
Tiff tiff = Tiff.ClientOpen("","w",ms,stm);
tiff.SetField(TiffTag.IMAGEWIDTH, UInt32.Parse(pd.Get(PdfName.WIDTH).ToString()));
tiff.SetField(TiffTag.IMAGELENGTH, UInt32.Parse(pd.Get(PdfName.HEIGHT).ToString()));
tiff.SetField(TiffTag.COMPRESSION, Compression.CCITTFAX4);
tiff.SetField(TiffTag.BITSPERSAMPLE, UInt32.Parse(pd.Get(PdfName.BITSPERCOMPONENT).ToString()));
tiff.SetField(TiffTag.SAMPLESPERPIXEL, 1);
tiff.WriteRawStrip(0, raw, raw.Length);
MemoryStream newStream = (MemoryStream)tiff.Clientdata();
tiff.Close();
時遇到的問題是,MemoryStream
字節數組是不是有效的圖像。
我用System.Drawing.Image
類加載這newStream
內存流,但在字節數組中有一些空值。
如果我使用Open
構造寫入到磁盤它工作正常圖像。
我想知道,如果有人知道爲什麼MemoryStream
未能保存解壓縮圖像。
由於