TIFF Image: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
 
(20 intermediate revisions by the same user not shown)
Line 14: Line 14:
                             // "MM" - big endian
                             // "MM" - big endian
2 bytes (uint16) - magic // "42"
2 bytes (uint16) - magic // "42"
4 bytes (uint32) - offset of the first IFD (Image File Directory)


// data
x bytes - image data
// Image File Directory
2 bytes (uint16) - number of directory entries
num_of_entries *
{
  // IFD entry structure
  2 bytes (uint16) - entry tag  // "256" - image width
                                // "257" - image length
                                // "258" - bits per sample
                                // "259" - compression type
                                // "262" - photometric interpretation (e.g. RGB, CMYK)
                                // "270" - image description
                                // "273" - strip offsets
                                // "274" - orientation
                                // "277" - samples per pixel 
                                // "278" - rows per strip
                                // "279" - strip byte counts   
                                // "282" - X Resolution               
                                // "283" - Y Resolution
                                etc. etc.
  2 bytes (uint16) - field type  // "1" = BYTE (uint8)
                                  // "2" = ASCII (char)
                                  // "3" = SHORT (uint16)
                                  // "4" = LONG (uint32)
                                  // "5" = RATIONAL (two LONGs)
                                  // "6" = SBYTE (int8)
                                  // "7" = UNDEFINED (1 byte that can contain anything)
                                  // "8" = SSHORT (int16)
                                  // "9" = SLONG (int32)
                                  // "10" = SRATIONAL (two SLONGs)
                                  // "11" = FLOAT (4-byte float)
                                  // "12" = DOUBLE (8-byte double)
  4 bytes (uint32) - values count
  x bytes - value 4-byte offset or value itself
  2 bytes - padding
}
4 bytes (uint32) - next IFD offset
</pre>
</pre>
</div>
</div>
=== TIFF Image Types ===
* bilevel
* grayscale
* palette-color
* full-color
Tags required for '''bilevel''' images: 256, 257, 259, 262, 273, 278, 279, 282, 283, 296. <br>
Tags required for '''greyscale''' images: 256, 257, 258, 259, 262, 273, 278, 279, 282, 283, 296.<br>
Tags required for '''palette-color''' images: 256, 257, 258, 259, 262, 273, 278, 279, 282, 283, 296, 320.<br>
Tags required for '''RGB''' images: 256, 257, 258, 259, 262, 273, 277, 278, 279, 282, 283, 296.<br>


=== MultiEx BMS Script ===  
=== MultiEx BMS Script ===  
Line 37: Line 96:




[[Category:Complete WIP|TIFF Image]]
[[Category:Complete Almost Done|TIFF Image]]
[[Category:Platform PC|TIFF Image]]
[[Category:Platform PC|TIFF Image]]
[[Category:CE None|TIFF Image]]
[[Category:CE None|TIFF Image]]

Latest revision as of 20:04, 30 January 2021

Back to index | Edit this page

TIFF


Format Specifications

// header
2 bytes (char) - endianess  // "II" - little endian
                            // "MM" - big endian
2 bytes (uint16) - magic // "42"
4 bytes (uint32) - offset of the first IFD (Image File Directory)


// data
x bytes - image data


// Image File Directory
2 bytes (uint16) - number of directory entries

num_of_entries *
{
   // IFD entry structure
   2 bytes (uint16) - entry tag  // "256" - image width
                                 // "257" - image length
                                 // "258" - bits per sample
                                 // "259" - compression type 
                                 // "262" - photometric interpretation (e.g. RGB, CMYK)
                                 // "270" - image description
                                 // "273" - strip offsets
                                 // "274" - orientation
                                 // "277" - samples per pixel   
                                 // "278" - rows per strip 
                                 // "279" - strip byte counts    
                                 // "282" - X Resolution                 
                                 // "283" - Y Resolution
                                 etc. etc.


   2 bytes (uint16) - field type  // "1" = BYTE (uint8)
                                  // "2" = ASCII (char)
                                  // "3" = SHORT (uint16)
                                  // "4" = LONG (uint32)
                                  // "5" = RATIONAL (two LONGs)
                                  // "6" = SBYTE (int8)
                                  // "7" = UNDEFINED (1 byte that can contain anything)
                                  // "8" = SSHORT (int16)
                                  // "9" = SLONG (int32)
                                  // "10" = SRATIONAL (two SLONGs)
                                  // "11" = FLOAT (4-byte float)
                                  // "12" = DOUBLE (8-byte double)
   4 bytes (uint32) - values count
   x bytes - value 4-byte offset or value itself
   2 bytes - padding
}

4 bytes (uint32) - next IFD offset

TIFF Image Types

  • bilevel
  • grayscale
  • palette-color
  • full-color

Tags required for bilevel images: 256, 257, 259, 262, 273, 278, 279, 282, 283, 296.
Tags required for greyscale images: 256, 257, 258, 259, 262, 273, 278, 279, 282, 283, 296.
Tags required for palette-color images: 256, 257, 258, 259, 262, 273, 278, 279, 282, 283, 296, 320.
Tags required for RGB images: 256, 257, 258, 259, 262, 273, 277, 278, 279, 282, 283, 296.


MultiEx BMS Script

Not written yet.

Notes and Comments

None.

Compatible Programs

  • IrfanView
  • GIMP

See Also