2011-05-31 39 views
3

我有一個問題,在C#中的Bitmap類不正確加載CCITT T.6 Tiff文件,它會翻轉它,所以高度是寬度和寬度是高度。加載CCITT T.6與GDI +位圖類

有沒有人做過這些,並知道處理它們的正確方法?

編輯:

下面是代碼:

Bitmap B = new Bitmap(@"C:\test2.tif"); 
    Debug.WriteLine(B.Width); //returns 1728 
    Debug.WriteLine(B.Height); //returns 1127 

當我在.NET圖片框顯示它(SizeMode設置爲Normal)它也顯示有誤(拉伸)。但是,如果我用Windows照片查看器打開它,它會正確顯示。

這些都在TIFF文件中可用的標籤:

SubFileType (1 Long): Page 
    ImageWidth (1 Long): 1728 
    ImageLength (1 Long): 1127 
    BitsPerSample (1 Short): 1 
    Compression (1 Short): Group 4 Fax (aka CCITT FAX4) 
    Photometric (1 Short): MinIsWhite 
    FillOrder (1 Short): Lsb2Msb 
    StripOffsets (1 Long): 8 
    SamplesPerPixel (1 Short): 1 
    RowsPerStrip (1 Long): 1127 
    StripByteCounts (1 Long): 14764 
    XResolution (1 Rational): 204 
    YResolution (1 Rational): 98 
    Group3Options (1 Long): 5 
    ResolutionUnit (1 Short): Inch 
    PageNumber (2 Short): 0, 0 
    Software (32 ASCII): Windows NT Fax Server   
    CleanFaxData (1 Short): 0 
    ConsecutiveBadFaxLines (1 Short): 0 
    37680 (5632 Undefined): 
    40003 (26 ASCII): U.S. Robotics 56K FAX EXT 
    40005 (1 ASCII): 
    40046 (1 Long): 1 
    40047 (1 Long): 4 
    40048 (1 Long): 256 
    40049 (1 Long): 18 
    40051 (1 SRational): 
    40052 (1 SRational): 
    40053 (1 Long): 2 
+0

向我們展示您正在使用的代碼。 – Amy 2011-06-01 00:25:49

回答

1

一個TIFF可以定義圖像的行的數據方向的標記。該標籤在LibTiff中被稱爲TIFFTAG_ORIENTATION

有些值是:

  • 1 =第0行表示圖像的視覺頂部,和第0列表示視覺左手側。
  • 5 =第0行代表圖像的視覺左側,第0列代表視覺頂部。

根據這篇文章:

許多讀者忽略此標記。

我懷疑Microsoft .NET Bitmap類是這些閱讀器之一,您的圖像包含該標記。

+0

謝謝。這些tiff文件似乎沒有方向標誌。它們必須具有它們計算的寬度和高度,其中我不能確定另一種方式中,可用的屬性是:254, 256, 257, 258, 259, 262, 266, 273, 277, 278, 279, 282, 283, 292, 296, 297, 327, 328, 37680, 40001,40002 , 40003, 40005,40046 , 40047, 40048, 40049, 40051, 40052, 40053.我已經使用了256個257特性(高度和寬度)嘗試,但他們似乎只返回Bitmap類高度和寬度的回報(這是看似不正確的)。 – Andrew 2011-06-01 02:07:24

+0

嗨安德魯,我有與RIGHTFAX圖像相同的問題。我能找到的唯一提示是vert/horz的DPI是不同的。問題是,一旦圖像保存DPI是相當無意義的。圖像顯示壓扁。你有沒有設法解決這個問題。 我曾嘗試使用LibTiff ReadRGBAImageOriented並且也有同樣的問題嗎? – Jim 2011-07-22 13:08:57