2009-07-16 92 views
1

首先,我使用SSRS渲染TIFF文檔,發現雖然可以將顏色深度參數傳遞給SSRS 2005或2008,但它會丟棄它並始終生成24bpp文件。沒有運氣,得到這個由SSRS渲染方法生成的24bpp文件,將其加載到System.Drawing.Bitmap對象上,併成功地將它縮放到1728像素,在204dpi時以2347像素乘以196dpi(11.50英寸乘以8.82英寸),但在繪製時失敗到一個新的單色(雙調)System.Drawing.Bitmap對象。 .Net接受創建1bpp索引文件,但沒有提供顏色深度轉換,所以我必須編寫一個自定義c#函數來實現它。縮放後,更改分辨率和更改顏色深度,我將System.Drawing.Bitmap對象保存到文件中,發現標記254(NewSubfileType)的值爲0而不是2(FILETYPE_PAGE),標記266(FillOrder)丟失,Bitmap內容分散在多個條上。看了看Encoder和EncoderParameters,發現沒有辦法改變Bitmap Save和SaveAdd方法,以便它們產生我需要的正確格式(tiff-f)的文件。現在,厭倦了System.Drawing + GDI +,發現了這個System.Windows.Media.Imaging。它是否也受到GDI +的困擾或者使用了新的DirectX技術,並且可以讓我以一種輕鬆生成兼容tiff-f文件的方式來驅動它?System.Windows.Media.Imaging是否使用DirectX(如WPF)或GDI +?

回答

1

嘗試在該程序集上運行Reflector並深入該代碼以找出結果。您還可以設置Visual Studio,以便在執行代碼時通過調試器中的.NET源代碼。

相關問題